从图中可以看出,Java集合框架主要包括两种类型的容器,一种是Collection,存储对象的集合,另一种是Map,存储键值对映射表。Collection 接口又有3种子接口,List、Set和Queue。
Collection
List 接口
实现 List 接口的数据结构允许重复元素,可通过索引访问元素,例如 LinkedList、ArrayList、Vector
常用实现类:
- ArrayList:允许重复元素,底层数据结构可变数组。
- Vector:和 ArrayList 类似,但它是线程安全的。
- LinkedList:允许重复元素,底层数据结构双链表。
Set 接口
实现 Set 接口的数据结构不允许重复的元素,例如 HashSet、LinkedHashSet
常用实现类:
-
HashSet:不允许重复的元素,底层数据结构 hash table。
-
LinkedHashSet:不允许重复的元素,底层数据结构 hash table 与双链表。
-
TreeSet:不允许重复的元素,底层数据结构红黑树。