一、集合框架的层级结构
Java 集合框架(Java Collections Framework, JCF)提供了一套用于存储和操作数据的接口和类。
核心思想是 统一接口,分层设计,主要分为两大顶级接口:
-
Collection:表示单元素集合。
-
Map :表示键值对集合(映射),独立于 Collection。
java.lang.Object └─ java.util.Collection(接口) ├─ List(接口) ├─ Set(接口) └─ Queue(接口) java.lang.Object └─ java.util.Map(接口) ├─ HashMap ├─ TreeMap └─ LinkedHashMap
注意:Map 并不是 Collection 的子接口。
二、Collection 系列
Collection 是单元素集合的顶层接口,主要定义了增删改查等操作。
Collection 有三个主要子接口:
-
List
-
特点:有序、允许重复元素。
-
典型实现:ArrayList、LinkedList、Vector
-
-
Set
-
特点:无序、元素不可重复。
-
典型实现:HashSet、LinkedHashSet、TreeSet
-
-
Queue / Deque
-
特点:用于队列操作,有先进先出(FIFO)和双端队列(Deque)。
-
典型实现:PriorityQueue、ArrayDeque、LinkedList
-
三、Map 系列
Map 是键值对映射的顶层接口,独立于 Collection。
主要特点:
-
每个 key 唯一,value 可以重复
-
常用操作:put、get、remove、keySet、values、entrySet
常用实现类:
-
HashMap:基于哈希表,无序
-
LinkedHashMap:保持插入顺序
-
TreeMap:基于红黑树,有序(按 key 排序)
-
ConcurrentHashMap:线程安全版本
四、集合框架整体层级图
java.lang.Object
└─ java.util.Collection(接口)
├─ List(接口)
├─ Set(接口)
└─ Queue(接口)
java.lang.Object
└─ java.util.Map(接口)
├─ HashMap
├─ TreeMap
└─ LinkedHashMap
小贴士:
Collection 操作单个元素;Map 操作键值对
Collection 支持迭代器(Iterator);Map 可以通过 keySet()/entrySet()/values() 获取迭代器
Map 与 Collection 在框架中平级,但不属于同一个继承链
五、面试简述版本
Java 集合框架分为 Collection 和 Map 两大顶层接口:
Collection 处理单元素集合,有 List、Set、Queue 等子接口
Map 处理键值对集合,有 HashMap、TreeMap、LinkedHashMap 等实现
Map 不继承 Collection,是独立的顶级接口