当前位置:   article > 正文

Java中的集合类(ArrayList,LinkedList,Vector)_linkedlist默认容量

linkedlist默认容量

一、ArrayList
基于数组实现;
默认初始容量是10;
不具有线程安全性,用于单线程中(如果在并发条件下使用它,可以用Collections类中的静态方法synchronizedList进行调用);
在需要进行扩容时,ArrayList会扩容到原来的1.5倍,将之前的数据拷贝到新建的数组;
在指定位置检索、在集合末尾插入删除一个元素O(1)、其他位置增删O(n);
二、LinkedList
基于双向循环链表实现(有头结点);
线程不安全(如果在并发条件下使用它,可以用Collections类中的静态方法synchronizedList进行调用);
检索O(n),插入删除是O(1)
三、Vector
基于数组实现;
默认初始容量是10;
线程安全(它的大部分方法都包含关键字synchronized,确保方法同步),但效率没有ArrayList和LinkedList高;
在需要进行扩容时,Vector默认会扩容到原来的2倍(但vector中有capacityIncrement扩容因子,若在创建vector时,指定了其大小,则每次动态数组容量需要增加时,如果容量的增量大于0,增加的大小就是capacityIncrement,否则扩容原来的2倍)将之前的数据拷贝到新建的数组;
在指定位置检索、在集合末尾插入删除一个元素O(1)、其他位置增删O(n),

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/322013
推荐阅读
相关标签
  

闽ICP备14008679号