AI智能
改变未来

java集合【2】——— Collection接口详解


一、Collection接口简介

collection

在java集合中,算是顶级接口,它继承了

iterable

接口,不能实例化,只能实例化其子类。之所以需要这样一个接口,是因为java作为面向对象,总是避免不了处理多个对象的情况,要处理多个对象,首先需要容器存储,这个容器就是集合。为什么有了数组,还需要集合,因为数组的功能单一,长度不可变,而有些集合实现类则是对数组操作的封装。

Collection

集合和数组的区别:

  • 集合长度可以变,数组是定长的
  • 集合存储的元素只能是引用类型,而数组则可以是基本类型
  • 数组只能执行基本操作,而集合功能经过拓展,更加丰富。
graph TD;Collection -->List-有顺序,可重复List-有顺序,可重复  -->LinkedList-使用链表实现,线程不安全List-有顺序,可重复  -->ArrayList-数组实现,线程不安全List-有顺序,可重复  -->Vector-数组实现,线程安全Vector-数组实现,线程安全 -->Stack-堆栈,先进后出Collection-->Set-不可重复,内部排序Set-不可重复,内部排序-->HashSet-hash表存储HashSet-hash表存储-->LinkHashSet-链表维护插入顺序Set-不可重复,内部排序-->TreeSet-二叉树实现,排序Collection-->Queue-队列,先进先出

二、Collection源码分析

Collection

继承于

Iterable

接口,而

Iterable

接口,是集合的顶级接口,没有之一,

Iterable

接口定义的功能是可以迭代,也就是获取迭代器

iterator

的功能,因此

Collection

以及其实现类也间接获得迭代的功能。

为什么需要这样子定义呢?我陷入了深深地思考…

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » java集合【2】——— Collection接口详解