java面试题网

普通会员

162

帖子

12

回复

175

积分

楼主
发表于 2018-05-25 14:19:33 | 查看: 7137| 回复: 1

ArrayList与LinkedList的区别

1、ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 (LinkedList是双向链表,有next也有previous)

2、对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 

3、对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 



文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/418_1_1.html


java面试题交流群:327440556      阿里云产品2000元通用优惠券限时领


普通会员

490

帖子

10

回复

208

积分
沙发
发表于 2018-11-01 16:55:32

ArrayList和LinkedList 有以下的不同点:

  • ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。而 LinkedList是以链表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。

  • 相对于ArrayList,LinkedList的插入、添加、删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。

  • LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018