Java16-【转载】ArrayList和LinkedList的区别

以下转载来源:https://blog.csdn.net/u011541946/article/details/80149506

ArrayList和LinkedList的区别是什么

        -ArrayList底层是数组实现,查询和修改快,增删慢。

        -LinkedList底层是链表实现,查询和修改慢,增删快

        --共同点是:线程不安全,效率高。

List下三个类,我们到底用哪个?

        --查询多,用ArrayList

        --增删多,用LinkedList

        --如果都多,用ArrayList

 以下转载来源:https://www.cnblogs.com/dengdi/p/13527530.html

ArrayList和LinkedList都实现了List接口,有以下的不同点:
1.ArrayList是基于索引的数据接口,它的底层是数组,他可以以0(1)时间复杂度对元素进行随机访问。与此对应,LinkedList 是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时 间复杂杜是0(n)。
2.相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组 那样重新计算大小或者更新索引。
3.LinkedList比ArrayList更占内存,因为linkedlist位每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。

 

posted @ 2020-09-02 08:47  eosclover  Views(139)  Comments(0Edit  收藏  举报