ArrayList和LinkedList有什么区别?
Posted iamyzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList和LinkedList有什么区别?相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
ArrayList和LinkedList都实现了List接口,但是:
ArrayList是基于索引的数据接口,底层是数组,能够以O(1)时间复杂度随机访问元素。而LinkedList是以元素列表存储的数据,每一个元素都和它的前一个元素和后一个元素连接在一起,查找元素的时间复杂度是O(n).
相比于ArrayList,LinkedList的添加、查找、删除等操作执行速度更快,因为当元素被添加到集合的任意位置时,并不需要向数组那样重新计算大小或更新索引。
LinkedList比ArrayList更占内存,因为LinkedList为每个节点存储了两个引用,一个指向前一个元素,一个指向了后一个元素。
---恢复内容结束---
以上是关于ArrayList和LinkedList有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章
ArrayList 和 LinkedList 的区别(底层数据结构): 什么时候使用arrayList,什么时候使用LinkedList (一个小时)