Java 集合框架的整体结构,Collection 和 Map 接口的核心区别是什么?
·
Java 集合框架是用于存储和操作一组对象的体系结构,整体结构可分为两大分支:Collection 接口(存储单个元素的集合)和Map 接口(存储键值对的映射表)。
一、Java 集合框架的整体结构
集合框架的顶层是两个核心接口:Collection 和 Map,它们之下衍生出多个子接口和实现类,整体结构如下:
- Collection 接口(单元素集合)
存储一系列独立的元素,其子接口主要包括:
-
List:有序、可重复的集合(如 ArrayList、LinkedList、Vector)。 -
Set:无序、不可重复的集合(如 HashSet、TreeSet、LinkedHashSet)。 -
Queue:队列(先进先出,如 LinkedList、PriorityQueue)。 -
Deque:双端队列(两端均可操作,如 ArrayDeque)。
- Map 接口(键值对映射)
存储键(Key)和值(Value)的对应关系,键唯一,值可重复,其子接口和实现类包括:
-
HashMap:基于哈希表的无序映射(JDK 8 后引入红黑树优化)。 -
TreeMap:基于红黑树的有序映射(按键排序)。 -
LinkedHashMap:有序的哈希映射(保留插入顺序或访问顺序)。 -
Hashtable:线程安全的哈希映射(古老类,已被 ConcurrentHashMap 替代)。
二、Collection 和 Map 接口的核心区别
|
区别维度 |
Collection 接口 |
Map 接口 |
|
存储内容 |
存储单个元素(如 |
存储键值对( |
|
核心方法 |
操作元素: |
操作键值对: |
|
元素唯一性 |
取决于子接口( |
键(Key)必须唯一,值(Value)可重复 |
|
遍历方式 |
通过迭代器( |
遍历键( |
|
数据模型 |
线性/集合模型(元素之间无直接关联) |
映射模型(键和值存在对应关系) |
总结
-
Collection 是“元素的集合”,适合存储独立的个体元素,强调元素的组织和管理。 -
Map 是“键值对的映射”,适合通过键快速查找值,强调数据之间的关联关系(如字典、缓存)。
两者共同构成了 Java 集合框架的基础,覆盖了大多数数据存储和操作场景。
更多推荐


所有评论(0)