美文网首页
Arraylist 与 LinkedList 区别

Arraylist 与 LinkedList 区别

作者: 大山村长 | 来源:发表于2020-02-23 10:13 被阅读0次

    Arraylist 

    Arraylist 实现了接口List, RandomAccess, Cloneable, java.io.Serializable,继承了AbstractList。具备了快速访问能力(读取时间O(1)),复制能力和序列化;底层通过数组实现,默认容量是10(扩容算法:新长度newCapacity为旧长度的1.5倍,>>1右移一位就是旧长度/2);新增、删除元素都会做一次扩容、数组复制操作;需要一组连续的内存空间存储元素。

    LinkedList

    LinkedList实现了接口List, Deque, Cloneable, java.io.Serializable,继承了AbstractSequentialList。具备了双向队列(维护了两个队列)的特征、复制能力和序列化;底层通过Node节点实现,没有默认容量;获取元数据时,需遍历整个队列,时间耗时相对较高;不需要连续内存空间存储数据。

    相关文章

      网友评论

          本文标题:Arraylist 与 LinkedList 区别

          本文链接:https://www.haomeiwen.com/subject/xcedqhtx.html