一、总体框架
二、Collection
Colletcion接口下有两大继承:List和Set
List | Set | |
---|---|---|
是否有序 | LinkedList有序,其他无序 | HashSet无序,TreeSet有序 |
元素是否可重复 | 是 | 否 |
具体实现 | ArrayList、LinkedList、Vector | HashSet、TreeSet |
是否线程安全 | Vector安全,其他不安全 | 都不安全 |
三、Map
Colletcion接口下有两大实现:Map和Dictionary(已废弃)
Map | Dictionary | |
---|---|---|
是否有序 | TreeMap 有序,HashMap无序 | 无序 |
元素是否可重复 | key唯一 | key唯一 |
具体实现 | HashMap、TreeMap | HashTable |
是否线程安全 | 不安全 | 安全 |
四、主要特性总结
1.有序的:LinkedList(可以按最近使用的次序排序)、TreeMap /TreeSet(按外部比较器或者内部比较器)
2.线程安全性的:Vector、HashTable线程安全,其他不安全
3.初始化容量及扩容:
初始化容量n | 扩容后容量 | |
---|---|---|
ArrayList | 10 | 1)如果是add方法扩容的,取n+n/2 ; 2)如果是用户手动扩容 ensureCapacity ,则要判断传入的参数minCapacityminCapacity<length =>不改变长度 否则,取取n+n/2 |
Vector | 10 | 若容量增加系数 >0,则将容量的值增加“容量增加系数”;否则,2*n |
HashMap | 16 | 2*n |
HashTable | 11 | 2*n+1 |
4.待补充