要使用哪个List实现?

And*_*okh 9 java collections performance memory-management

在我的程序中,我经常使用集合来存储对象列表.目前我使用ArrayList来存储对象.我的问题是:这是最好的选择吗?使用LinkedList可能会更好吗?或者是其他东西?

要考虑的标准是:

  • 内存使用情况
  • 性能

我需要的操作是:

  • 添加元素到集合
  • 迭代元素

有什么想法吗?

更新:我的选择是:ArrayList :)基于此讨论以及以下内容:

wha*_*ley 11

我总是默认使用ArrayList,在你的情况下也是如此,除非

  • 我需要线程安全(在这种情况下,我开始查看java.util.concurrent中的List实现)
  • 我知道我将对List进行大量的插入和操作,或者分析显示我对ArrayList的使用是一个问题(非常罕见)

至于在第二种情况下要选择什么,这个SO.com线程有一些有用的见解:列表实现:LinkedList与ArrayList和TreeList相比真的表现如此糟糕吗?