目录
List 集合存储的是有序的数据集合,其数据结构特点是:读取快,修改慢,适合于读取多、写入修改少的场景。
Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及继承结构非常有必要。总的来说,Java 容器可以划分为 4 个部分:
- List 集合
- Set 集合
- Queue 集合
- Map 集合
Collection 集合的顶级接口:
1、Collection接口的实现子类可以存放多个元素,每个元素可以是Object
2、有些Collection接口的实现类,可以存放重复的元素,有些不可以
3、有些Collection接口的实现类,是有序的(List),有些不是有序的(Set)
4、Collection接口没有直接的实现子类,是通过它的子接口Set 和 List来实现的
集合框架
List接口:
List 集合存储的是有序的数据集合,其数据结构特点是:读取快,修改慢,适合于读取多、写入修改少的场景。
Vector 类也是很常用的 List 实现,其数据结构与 ArrayList 非常类似。但其与 ArrayList 的一个最大的不同是:Vector 是线程安全的,而 ArrayList 则不是线程安全的。
- ArrayList 基于数组的集合
- Vector 基于数组的集合,更安全
- LinkedList 基于链表的集合
Set接口:
去重,顺序不一致无下标,与 List 集合类似,都是一个 Set 接口继承了 Collection 接口。一个 AbstractSet 抽象类实现了 Set 接口、继承了 AbstractCollection 抽象类。这部分完全和 List 相同。
- HashSet
- HashTable 安全
- TreeSet 排序功能的set
Map接口:
Map 与 List、Set、Queue 有较大不同,其实类似于 key/value 的数据结构。
Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作
最常用的实现类是HashMap