oracle java tutorial官方文档
链接是:https://docs.oracle.com/javase/tutorial/collections/index.html
1.核心集合接口层次关系
同类对比
Map系列
名称 | 特点 | 数据结构 | 初始容量(默认) | 扩容方式 |
HashMap | 键值对,存Null值 | 散列表 | 16 | 容量使用75%(负载因子) 扩大1倍 |
HashTable | 1.所有方法有sychronized修饰,线程安全 2.键值对,不可存放null值 | 散列表 | 11 | 容量使用75%(负载因子) 扩大1倍 |
TreeMap | 键值对,不可存放null值 | 红黑树(平衡二叉树) | 无 | 无 |
LIst系列
名称 | 特点 | 数据结构 | 初始容量(默认) | 扩容方式 |
ArrayList | 查询速度快 | 数组 | 10 | 每次新增都会检查容量,容量不足扩大50% |
LinkList | 插入删除速度快 | 双向链表 | 无 | 无 |
Vector | 所有方法有sychronized修饰,线程安全(不考率线程安全不可建议使用,存在开销) | 数组 | 10 | 扩大原来的1倍 |
Set
名称 | 特点 | 数据结构 | 初始容量(默认) | 扩容方式 |
HashSet | 无重复结果且结果无需 | 散列表(HashMap<E,Object>) | 16 | 容量使用75%(负载因子) 扩大1倍 |
TreeSet | 无重复结果且结果有序 | 红黑树 (NavigableMap<E,Object>) | 无 | 无 |