我知道linkedlist
在java中的插入和删除速度更快,因为它们使用链表数据结构,这是一组节点。我试图理解为什么插入和删除速度更快。但我不明白。我所知道的是每个节点由数据和对下一个节点的引用组成。现在,它是如何有效的呢?我可以用简单的方式解释一下吗?对不起,我不是计算机科学专业的学生。
刚刚完成学士商业.. :)
答案 0 :(得分:0)
对于链表,没有限制它应该保存在连续的内存中,所以只要内存中有空间,JVM就会把对象放在那里,并从列表的最后一个元素指向该对象。
但是,如果是ArrayList
,如果JVM找不到连续的内存空间,JVM会找到可以容纳完整ArrayList
的新内存区域,然后将完整列表复制到该空间,从而增加了开销