集合类


JDK中提供了一系列特殊的类,这些类可以储存任意类型的对象,并且长度可变,统称为集合。Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:Collection 和 Map。 单列集合(Collection )和双列集合(Map)两种集合的特点具体如下:Collection: 存放单一元素,Map: Map 存放 key-value 键值对。


Collection接口

Collection集合下面有List、Set、Queue三大集合
集合类

List集合

接口定义了该类集合允许存储重复的元素,且集合内部的元素按照元素插入的顺序有序排列,可以通过索引访问元素。

Set集合

接口定义了该类集合不允许存储重复的元素,且任何操作时均需要通过哈希函数映射到集合内部定位元素,集合内部的元素默认是无序的。

Queue集合

接口定义了该类集合是以队列作为存储结构,所以集合内部的元素有序排列,仅可以操作头结点元素,无法访问队列中间的元素。


Map接口

Map集合下面有AbstractMap、SortedMap两大集合
集合类

AbstractMap集合

是对 Map 接口的扩展,它定义了普通的 Map 集合具有的通用行为,可以避免子类重复编写大量相同的代码,子类继承 AbstractMap 后可以重写它的方法,实现额外的逻辑,对外提供更多的功能。

SortedMap集合

定义了该类 Map 具有 排序行为,同时它在内部定义好有关排序的抽象方法,当子类实现它时,必须重写所有方法,对外提供排序功能。


各类集合对比

集合类