集合
集合接口分为Collection和Map。
目录
Collection
List
ArrayList
- 排列有序,可重复
- 底层使用数组
- 访问速度快,增删慢
- 线程不安全
- 当容量不够时,当前容量*1.5+1
Vector
- 排列有序,可重复
- 底层使用数组
- 访问速度快,增删慢
- 线程安全,效率低
- 当容量不够时,扩展一倍
LinkedList
- 排列有序,可重复
- 底层使用双向链表
- 访问速度慢,增删快
- 线程不安全
Set
HashSet
- 排列无序,不可重复
- 底层用hash表实现
- 增删快
- 线程不安全
- 底层用hashmap实现
TreeSet
- 排列无序,不可重复
- 底层使用二叉树实现
- 值自然排序,默认升序
- SortedSet接口的实现类
- 线程不安全
LinkedHashSet
- 排列有序,不可重复
- 底层双向链表+hash表
- 线程不安全
Queue
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
线程不安全的。
Map
HashMap
- 键不可重复,值可重复
- 底层hash表
- 线程不安全
- 键可以为null,值也可以
Hashtable
- 键不可重复,值可重复
- 底层hash表
- 线程安全
- 键和值不可以为null
TreeMap
- 键不可重复,值可重复
- 底层红黑树
- 线程不安全
- 值存储有序