为什么链表更快

时间:2014-12-04 09:52:19

标签: java linked-list

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

1 个答案:

答案 0 :(得分:0)

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

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