集合继承体系图
集合继承体系
- Java 集合框架的核心接口和类位于 java.util 包中
单列集合
- 单列集合是指存储 单个元素 的集合,每个元素都是独立的。单列集合的核心接口是 Collection,它有两个主要的子接口:List 和 Set
继承体系图
+-------------------+
| Iterable | (接口)
+-------------------+
^
|
+-------------------+
| Collection | (接口)
+-------------------+
^ ^
| \
| \
| \
+-------------------+ +-------------------+
| List | | Set | (接口)
+-------------------+ +-------------------+
^ ^
| |
+-------------------+ +-------------------+
| ArrayList | | HashSet | (实现类)
+-------------------+ +-------------------+
| LinkedList | | LinkedHashSet |
+-------------------+ +-------------------+
| Vector | | TreeSet |
+-------------------+ +-------------------+
| Stack |
+-------------------+
List接口
特点
- 有序集合,允许重复元素。
- 支持按索引访问元素。
常见实现类
-
ArrayList:基于动态数组实现,支持快速随机访问。
-
LinkedList:基于双向链表实现,支持快速插入和删除。
-
Vector:线程安全的动态数组(已过时)。
-
Stack:基于 Vector 实现的栈(已过时)。
Set接口
特点
- 无序集合,不允许重复元素。
- 支持高效的查找操作
常见实现类
-
HashSet:基于哈希表实现,无序且不允许重复元素。
-
LinkedHashSet:基于哈希表和链表实现,维护插入顺序。
-
TreeSet:基于红黑树实现,元素按自然顺序或自定义顺序排序
双列集合
- 双列集合是指存储 键值对(Key-Value Pair) 的集合,每个元素由一个键和一个值组成。双列集合的核心接口是 Map
- Map接口本身并没有直接实现Iterable接口
- 虽然Map接口本身没有实现Iterable接口,但它提供了多种方式来获取可迭代的视图,从而可以遍历其中的元素
继承体系图
+-------------------+
| Map | (接口)
+-------------------+
^ ^
| \
| \
+-------------------+ +-------------------+
| SortedMap | | ConcurrentMap | (接口)
+-------------------+ +-------------------+
^ ^
| |
+-------------------+ +-------------------+
| NavigableMap | | ConcurrentHashMap| (实现类)
+-------------------+ +-------------------+
^
|
+-------------------+
| TreeMap | (实现类)
+-------------------+
+-------------------+
| HashMap | (实现类)
+-------------------+
^
|
+-------------------+
| LinkedHashMap | (实现类)
+-------------------+
+-------------------+
| Hashtable | (实现类,已过时)
+-------------------+
Map接口
特点
- 键值对集合,键不允许重复。
- 支持高效的查找操作
常用实现类
-
HashMap:基于哈希表实现,键值对无序。
-
LinkedHashMap:基于哈希表和链表实现,维护插入顺序。
-
TreeMap:基于红黑树实现,键按自然顺序或自定义顺序排序。
-
Hashtable:线程安全的哈希表(已过时,推荐使用 ConcurrentHashMap)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义