gpt4 book ai didi

java - 为什么数组列表比后进先出行为的链表更快?

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:26 24 4
gpt4 key购买 nike

我编写了一个算法,它在数据结构的末尾添加和删除大量项目(基本上是后进先出)。

现在由于某些原因,当我使用 ArrayList 执行此操作时,它比 LinkedList 快得多,即使 ArrayList 需要重定位的开销。它甚至不快一点。英里更快!

这是为什么?

最佳答案

好吧,每次你插入一个 LinkedList 时,都会分配一个新对象。当您插入 ArrayList 时,只有在没有更多空间时才会进行分配。在这一点上,它使可用空间加倍,并且在空间用完之前您不会再次分配。所以在 LinkedList 中创建对象的成本几乎肯定是不同的。

关于java - 为什么数组列表比后进先出行为的链表更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785584/

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