为了账号安全,请及时绑定邮箱和手机立即绑定

何时在Java中使用LinkedList而不是ArrayList?

何时在Java中使用LinkedList而不是ArrayList?

元芳怎么了 2019-05-23 13:39:37
我一直只是一个人使用:List<String> names = new ArrayList<>();我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码。何时应该LinkedList使用,ArrayList反之亦然?
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

ArrayList是你想要的。LinkedList几乎总是一个(性能)错误。

为什么LinkedList糟透了:

  • 它使用大量小内存对象,因此会影响整个过程的性能。

  • 很多小对象都不利于缓存局部性。

  • 任何索引操作都需要遍历,即具有O(n)性能。这在源代码中并不明显,导致算法O(n)比ArrayList使用的算法慢。

  • 获得良好的表现是棘手的。

  • 即使大O性能相同ArrayList,但无论如何它可能会明显变慢。

  • LinkedList在源代码中看到它很不耐烦,因为它可能是错误的选择。


查看完整回答
反对 回复 2019-05-23
  • 3 回答
  • 0 关注
  • 1146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信