码迷,mamicode.com
首页 > 编程语言 > 详细

[Java基础]ArrayList与LinkedList的区别和使用场景

时间:2016-04-15 00:25:18      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

  首先,ArrayList和LinkedList都是Java中常见的容器类,都实现了list接口;但是因为各自实现list接口时,采用的数据结构不一样,导致他们在使用上存在差异。

下面就总结一下:

1. ArrayList是基于数组来实现的线性表,只不过它是可以动态扩展的。如果不指定ArrayList初始容量值,那么其采用默认的值10;若果向ArrayList中添加对象引用时,已经无法容纳时,会自动的扩展,扩展的系数为1.5;

2. ArrayList对于按照索引值查找是非常快速的,时间复杂度为O(1); 但是对于插入和删除就有多余的移动拷贝的消耗处理,时间复杂度为O(n);

3. LinkedList是基于双向链表的数据结构实现list接口,所以查找的执行效率较低,时间复杂度为O(n);

4. LinkedList对于插入和删除,执行效率较高,时间复杂度为O(1);

5. 从存储上看,LinkedList比ArrayList的内存消耗更高,因为每一个结点都需要有格外的两个结点的引用来表示;

 

注:能力有限,如有错误,请不吝赐教!

 

[Java基础]ArrayList与LinkedList的区别和使用场景

标签:

原文地址:http://www.cnblogs.com/yw-technology/p/5393597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!