gpt4 book ai didi

java - 为什么链表更快

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:07 25 4
gpt4 key购买 nike

我知道linkedlist java中的插入和删除速度更快,因为它们使用链表数据结构,即一组节点。我试图理解为什么它的插入和删除速度更快。但我不明白。我所理解的是每个节点都由数据和对下一个节点的引用组成。现在,它是如何高效的呢?谁能用简单的方式解释一下我吗?抱歉,我不是计算机科学专业的学生。刚刚完成商业学士学位..:)

最佳答案

对于链表,没有限制它应该保存在连续的内存中,因此只要内存中有空间,JVM 就会将对象放在那里并从列表的最后一个元素指向该对象。

但是对于ArrayList来说,如果JVM没有找到连续的内存空间,JVM会找到可以容纳完整ArrayList的新内存区域,然后将完整的列表复制到该空间,因此增加了开销。

关于java - 为什么链表更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27290897/

25 4 0
文章推荐: java - 对两个用户定义类型Library类的Arraylist进行排序和合并
文章推荐: javascript - Ember.js - 应用程序
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com