码迷,mamicode.com
首页 > 其他好文 > 详细

集合区别(list和linkedlist的区别)?

时间:2017-11-06 12:13:32      阅读:615      评论:0      收藏:0      [点我收藏+]

标签:数据   logs   add   arraylist   alt   get   链表的数据结构   数据结构   link   

1.list和linkedlist都是有序可重复,为什么还要用linkedlist呢?

数组和数组列表都有一个重大的缺陷,这就是从数组的中间位置删除一个元素需要付出很大的代价,其原因是数组中处于被删除元素之后的所有元素都要向数组的前端移动。在数组的中间的位置插入一个元素也是如此。如下图:

技术分享

这个问题就靠LinkedList(链表)来解决。链表将每个对象存放在独立的节点中,每个节点还存放着序列中上一个节点的引用和下一个节点的引用,如下图:

技术分享

   ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

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

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

集合区别(list和linkedlist的区别)?

标签:数据   logs   add   arraylist   alt   get   链表的数据结构   数据结构   link   

原文地址:http://www.cnblogs.com/super-chao/p/7792425.html

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