Collection集合框架
2019-10-15 09:57:59 0 举报
一图看懂集合框架
作者其他创作
大纲/内容
ArrayList:初始化容量为10首先去检查一下数组的容量是否足够扩容到原来的1.5倍第一次扩容后,如果容量还是小于minCapacity,就将容量扩充为minCapacity。足够:直接添加不足够:扩容 add方法底层是arraycopy()实现的,这个方法是native方法动态数组,增删的时候进行数组的拷贝List list = Collections.synchronizedList(new ArrayList(...)); 可以实现与vector一样的线程安全Vector:ArrayList在底层数组不够用时在原来的基础上扩展0.5倍,Vector是扩展1倍。LinkedList:LinkedList底层是双向链表LinkedList实现了Deque接口,因此,我们可以操作LinkedList像操作队列和栈一样总的来说:查询多用ArrayList,增删多用LinkedList。ArrayList增删慢不是绝对的(在数量大的情况下,已测试):如果增加元素一直是使用add()(增加到末尾)的话,那是ArrayList要快一直删除末尾的元素也是ArrayList要快【不用复制移动位置】至于如果删除的是中间的位置的话,还是ArrayList要快!
Quene
Stack
HashSet
LinkedList
SortedSet
List
PriorityQueue
哈希表,元素为链表的数组
Collection
EnumSet
元素是不可重复的
Vector
Deque
LinkedHashSet
线程安全,数组
Set
哈希表和链表
填充颜色的是常用的一些
ArrayList
有序,红黑树
TreeSet
线程不安全,链表
线程不安全,数组可以存放null
0 条评论
回复 删除
下一页