Array和ArrayList之间的性能或内存消耗差异

Lal*_* J. 6 java performance arraylist

我发现ArrayList通过在日常编码中使用数组而不是使用数组,我几乎可以轻松地完成任何操作并且可以进行更多控制.所以我问:

  1. 如果我可以使用它,是否适合避免阵列ArrayList
  2. 当我用一个数组替换一个数组时,我需要考虑一下内存ArrayList吗?

Jim*_*mmy 8

使用一个在另一个上面肯定会影响性能和效率,尽管它可能非常小.还实施JVM 了很多影响.但是,添加和获取条目arrays总是比在中更快List.如果您确定所需的大小,则array在使用数组时可能也会节省很少的内存.但是,List您可以更灵活地修改内容,基本上有很多方法可以操作数据.它完全支持generics.由于数组是covariant 和Generics invariant,Arrays and Generics don't mix所以Joshua Bloch建议在他的书Effective Java II第25章中使用List over array.我一定会听从他的建议,并建议你使用List而不是数组.

  • 谢谢!,我收到了《有效Java》(第二版)的副本,似乎有很多JAVA知识。非常感谢您的参考。 (2认同)
  • 非常欢迎您,这的确是一本好书。 (2认同)