在Linked中,LinkedList的双向链表和arrayList的内部工作有什么区别

时间:2016-04-07 05:17:16

标签: java arraylist linked-list doubly-linked-list

使用LinkedList进行操作比使用ArrayList更快,因为它使用双向链表,因此内存中不需要进行位移。但是在ArrayList的情况下,如果从数组中删除任何元素,则所有位都在内存中移位。

那么,linkList为数据操作实现这一优势的内部机制是什么?

1 个答案:

答案 0 :(得分:1)

ArrayList使用数组来存储元素。所以数组可能有4个这样的元素

[1][2][3][4]

并删除第三个元素将离开

[1][2][empty][4]

这意味着程序员必须手动移动元素才能获得

[1][2][4]

但链接列表使用指针,因此在上面的示例中,第二个节点(值为2的节点)可以更新其指针以指向存储4的节点。