一、总体框架

util包源码(九):阶段性总结

二、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,则要判断传入的参数minCapacity
   minCapacity<length =>不改变长度
   否则,取取n+n/2
Vector 10 若容量增加系数 >0,则将容量的值增加“容量增加系数”;否则,2*n
HashMap 16 2*n
HashTable 11 2*n+1

4.待补充

相关文章: