java中ArrayList和LinkedList区别

Posted 夏无蝉鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中ArrayList和LinkedList区别相关的知识,希望对你有一定的参考价值。

ArrayList和LinkedList最主要的区别是基于不同数据结构

ArrayList是基于动态数组的数据结构,LinkedList基于链表的数据结构,针对这点,从时间复杂度和空间复杂度来看主要区别:

1.时间复杂度

对于随机访问,ArrayList通过索引快速定位元素位置;而LinkedList需要对列表中元素挨个查找。所以ArrayList快于LinkedList

对于删除插入操作,ArrayList需要对数组重新排序,而且在数组装满的时候要将所有的数据重新装入一个新的数组;LinkedList只需添加一项Entry对象。所以LinkedList快于ArrayList

2.空间复杂度

 LinkedList需要更多的内存,因为ArrayList的每个索引的位置是实际的数据,而LinkedList中的每个节点中存储的是实际的数据和前后节点的位置

 

引用:

http://pengcqu.iteye.com/blog/502676

http://www.importnew.com/6629.html

以上是关于java中ArrayList和LinkedList区别的主要内容,如果未能解决你的问题,请参考以下文章

Java中ArrayList和LinkedList区别

Java中arraylist和linkedlist源码分析与性能比较

java中ArrayList和LinkedList区别

Java中ArrayList和LinkedList区别

Java中ArrayList和LinkedList区别

Java中ArrayList和LinkedList区别