1

这只是出于好奇而提出的问题。假设我有一个应用程序,其中一些对象是在运行时动态创建的。我们还要说,在大多数情况下,对象的数量不会超过某个阈值,例如 20。作为最后一个前提条件,我们说,优化性能非常重要。

什么是性能更好的替代方案?

  1. 首先创建一个数组[20]。添加对象时,检查数组是否已经被完全占用,如果是,则使用 newArray[array.length * f] 创建一个新数组,其中 f 是大于 1.0f 的浮点数。然后用新数组替换旧数组并添加项目

  2. 只需从一开始就使用 ArrayList

  3. ???

请记住,这完全是关于性能优化。

编辑 我不知道java中的确切实现,所以它可能是真的,1.) 和 2.) 非常相似。但在阅读此内容后: https ://stackoverflow.com/a/10747397/1075211 ,我认为它可能会对 C# 或其他一些语言产生影响?

4

1 回答 1

1

您的第一个选项或多或少等同于创建一个像 new ArrayList(20) 这样的 ArrayList。

于 2013-04-29T17:42:34.573 回答