什么情况下会使用java.util.LinkedList?

53 浏览
0 Comments

什么情况下会使用java.util.LinkedList?

这个问题已经有答案了

可能是重复问题:

什么时候应该使用LinkedList<>而不是ArrayList<>?

这是一个真正的尝试,了解什么情况下会使用LinkedList;

据我所了解,由于java.util.LinkedList不支持随机访问,获取第n个元素的唯一方法是从1跳到(n-1)或使用get(n),本身非常低效。

那么为什么要使用LinkedList呢?除非你想使用ListIterator从两侧迭代集合,否则ArrayList大部分情况下都能胜任。

admin 更改状态以发布 2023年5月19日
0
0 Comments

考虑这些数据结构上的3个常见操作:随机元素访问、添加元素和删除元素。

在LinkedList中,随机元素访问较慢(O(N)),但添加和删除速度较快(O(1))。对于ArrayList,情况正好相反:随机元素访问较快(O(N)),但添加和删除元素较慢。

您需要查看系统将执行哪些操作,并使用适当的数据结构。

0
0 Comments

考虑一下这个方法:

List list = // choose your list here
list.add(0, new Object());

对于大型列表,LinkedList的性能将远远优于ArrayList。对于

list.remove(0);

...和许多其他方法。如需更多信息,建议阅读有关java.util.Deque接口的内容,这个接口同样被LinkedList实现。

0