为什么链表更快



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

在链表的情况下,没有界限认为它应该保存在连续内存中,所以只要内存中有空间,JVM就会把对象放在那里,并从列表的最后一个元素中指向该对象。

但是在ArrayList的情况下,如果JVM没有找到连续的内存空间,JVM会找到可以容纳完整ArrayList的新内存区域,然后将完整列表复制到该空间,从而增加开销。

相关内容

  • 没有找到相关文章

最新更新