-
时海
(1)存储方式:ArrayList 采用数组存储,LinkedList 采用链表存储
(2)存储效率:ArrayList 通常预分配空间,没有使用的会浪费,LinkedList 除了存储数据本身外,还需要存储指针相关的数据
(3)查询效率:ArrayList(通过数组下标计算)高于 LinkedList(逐个遍历)
(4)更新效率:ArrayList 涉及数据移动、扩容,效率低于LinkedList
-
ArrayList和LinkedList都实现了List接口,有以下的不同点:
1、存储方式和查询效率不一样
ArrayList是基于索引的数据接口,它的底层是数组,它可以以O(1)时间复杂度对元素进行随机访问。
LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。
2、插入/删除/更新效率不一样
LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。
3、占用空间不一样
LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。
标签: linkedlist、arraylist、元素、指向、插入
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: