NullPointer 发表于 2016-12-7 12:54

ArrayList和LinkedList对比

摘要:通过这两天阅读ArrayList和LinkedList源码发现两者的异同:
ps:两个类的源码我之前已经发出。
同:
一、都实现了List接口
二、ArrayList和LinkedList都不是线程安全的。
异:
一、 ArrayList是个可变长的数组,对数据进行读取速度非常快,直接取出数组的下标对应的值。
        LinkedList是双向链表,对数据读取效率较低,他需要从第一个指针位置或最后一个指针(若下标小于LinkedList的二分之一,则从前往后找,否则从后往前找)位置遍历,找到对应位置的元素值。
二、 ArrayList对数据进行写操作效率较低,每次更改元素,都需要进行检查是否需要进行扩容(1.5倍),然后在进行数组的复制操作。
        LinkedList对数据进行写操作效率较高,每次更改元素,直接移动指针,定位到目标,将其设置为null。

我是萌萌哒提莫 发表于 2016-12-7 13:38

{:1_918:}你也是凶,名字就叫空指针.

罂粟般的女人 发表于 2016-12-7 13:41

说得好,我选hashMap

dopimking 发表于 2017-3-16 16:20

学习了,谢谢分享

巨无霸 发表于 2017-4-15 06:23

昨天面试,问题中就有这个!

yyalzm 发表于 2017-4-15 10:50

再介绍一下concurrentHashMap啊

zhuyan5513 发表于 2017-5-2 16:29

来复习一下 哈哈

龙腾宇内 发表于 2017-6-15 09:47

List,   Set,    Map

list set都继承了Collection接口

ArrarList读取速度快,有序的,元素可以重复。写操作效率低
LinkedList读取效率低,双向链表,所以编辑速度快,容易定位和断链和挂链

Set元素不可重复,自带排序

其实一般开发中,用的最多的应该是Map和List了

bbmin 发表于 2017-8-28 16:55

{:1_902:}mmmmm
页: [1]
查看完整版本: ArrayList和LinkedList对比