摘要
本篇文章针对JDK 21版本中的Java.util包,对集合和Map数据类型进行了分类,并提供了每个数据类型的简要特点描述。旨在为读者在选择合适的数据结构时提供参考和指导,以便更好地进行数据结构选型。
Collection
- Collection 接口:所有集合数据类型的父类
- SequencedCollection 接口:为集合增加顺序相关操作方法
- AbstractCollection :集合接口的默认实现
List
- List 接口: 继承SequencedCollection接口,所有的List 拓展数据类型均需要实现List 接口
- AbstractList:AbstractList 为具体的列表实现类提供了一个基础框架
- ArrayList:基于数组实现的动态列表
有序的
- AbstractSequentialList:该类主要侧重于顺序访问元素的列表实现
- LinkedList:双向链表实现的列表
线程安全的
- (Deprecated)Vector:Java 早期线程安全的List 实现
- (Deprecated)Stack:基于Vector实现的后进先出(LIFO)的数据结构
- CopyOnWriteArrayList:核心原理是 “写时复制” 。 而读取操作是在原始数组上进行的,不需要进行加锁操作。
Set
- Set 接口: Set接口继承自 Collection 接口&#x