gpt4 book ai didi

java - Java中LinkedList和arrayList双向链表内部工作有什么区别

转载 作者:行者123 更新时间:2023-11-30 02:58:49 36 4
gpt4 key购买 nike

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

那么,linkedList是通过什么内部机制实现这种数据操作优势的呢?

最佳答案

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

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

删除第三个元素就会留下

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

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

[1][2][4]

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

关于java - Java中LinkedList和arrayList双向链表内部工作有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36467254/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com