
集合框架核心接口及实现类:
- Collection:根接口,大部分数据结构都实现了 Collection 接口中的方法
- Set:实现 Set 接口的数据结构不允许重复的元素,例如 HashSet、LinkedHashSet
- SortedSet:实现 SortedSet 接口的数据结构默认可按升序打印元素,例如 TreeSet
- List:实现 List 接口的数据结构允许重复元素,可通过 index 访问元素,例如 LinkedList、ArrayList、Vector
- Map:实现 Map 接口的数据结构存储键值对,不允许重复的 key,例如 HashMap、LinkedHashMap、Hashtable
- SortedMap:继承了 Map 接口,存储键值对,不允许重复的 key,默认可按 key 升序打印元素,例如 TreeMap
SortedSet 与 SortedMap 默认的排序是自然序,可通过 Comparator 或 Comparable 接口实现自定义排序。
在接口与具体的实现类之间还有一些抽象类,如下图:

这些抽象类为集合增加了很多功能:
- HashSet:实现 Set 接口,不允许重复的元素,底层数据结构 hash table
- LinkedHashSet:实现 Set 接口,不允许重复的元素,底层数据结构 hash table 与双链表
- TreeSet:实现 NavigableSet 接口,不允许重复的元素,底层数据结构红黑树
- ArrayList:实现 List 接口,允许重复元素,底层数据结构可变数组
- LinkedList:实现 List 接口,允许重复元素,底层数据结构双链表
- Vector:实现 List 接口,允许重复元素,底层数据结构可变数组
- HashMap:实现 Map 接口,不允许重复的 key,底层数据结构 hash table
- LinkedHashMap:实现 Map 接口,不允许重复的 key,底层数据结构 hash table 与双链表
- HashTable:实现 Map 接口,不允许重复的 key,底层数据结构 hash table
- TreeMap:实现 SortedMap 接口,不允许重复的 key,底层数据结构红黑树