首页 > 试题广场 >

ArrayList和LinkedList有什么区别?

[问答题]
ArrayList 是动态数组结构,有索引,查询快(时间复杂度O(1)),增删慢(因为要移动索引)
LinkedList是链表结构,无索引,有指向前后的指针,查询需要从头开始向下寻找(时间复杂度O(n)),增删快(只需要修改链表中指针的指向,不需要移动其他)
发表于 2019-01-04 14:36:58 回复(0)
更多回答
ArrayList和LinkedList的大致区别:
  1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
  2. 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
  3. 理论上来说在做新增和删除操作add和remove时,LinedList比较占优势,因为ArrayList要移动数据。
发表于 2019-01-04 21:41:02 回复(2)
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
发表于 2019-08-13 08:33:06 回复(0)
1、数据结构不同 ArrayList是Array(动态数组)的数据结构,LinkedList是Link(链表)的数据结构。 2、效率不同 当随机访问List(get和set操作)时,ArrayList比LinkedList的效率更高,因为LinkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找。 当对数据进行增加和删除的操作(add和remove操作)时,LinkedList比ArrayList的效率更高,因为ArrayList是数组,所以在其中进行增删操作时,会对操作点之后所有数据的下标索引造成影响,需要进行数据的移动。
发表于 2019-05-13 16:06:10 回复(0)
相同的点:ArrayList和LinkedList都是非线程安全的,允许重复的
发表于 2019-01-04 19:27:01 回复(0)
1.底层数据结构不一样,ArrayList底层数据结构是数组,LinkedList底层数据结构是双向链表.
2.查询速度不一样,ArrayList的查询速度快,LinkedList查询速度慢.
3.增/删速度不一样,LinkedList增/删快,ArrayList增/删慢
发表于 2020-05-25 11:07:18 回复(0)
1.ArrayList底层是数组结构,查询快增删慢
LinkedList底层是链表结构,查询慢增删快
2.同时他们都是单例集合,都是线程不安全的
发表于 2019-08-07 20:29:40 回复(0)
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
发表于 2019-05-03 21:21:19 回复(0)
ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 理论上来说在做新增和删除操作add和remove时,LinedList比较占优势,因为ArrayList要移动数据
发表于 2019-04-30 19:08:41 回复(0)
arraylist是基于动态数组的数据结构,linkedlist是基于链表的的数据结构。 arraylist查询数据比较快,linkedlist更适合于增删改数据
编辑于 2019-04-28 19:38:30 回复(0)
ArrayList采用数组数组实现的,查找效率比LinkedList高。LinkedList采用双向链表实现的,插入和删除的效率比ArrayList要高。一般在list的尾部添加元素,LinkedList效率要高。
编辑于 2019-04-28 23:23:05 回复(0)
ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。linkedlist比arrayliat更占内存
发表于 2019-04-26 23:00:02 回复(0)
List接口的实现方式不同 ArrayList实现了List接口 以数组的方式来实现的 因此对于快速的随机取得对象的需求 使用ArrayList实现执行效率上会比较好 LinkedList是采用链表的方式来实现List接口的 因此在进行insert和remove动作时效率要比ArrayList高 适合用来实现Stack(堆栈)与Queue(队列)
发表于 2019-04-26 22:19:49 回复(0)
arraylist和linkedlist都实现啦list接口,所以存储的值是有序的,并可以是重复的,但是arraylist插入的删除比较慢,linkedlist查询比较慢
发表于 2019-01-05 20:33:19 回复(2)