【问题标题】:replacing Array vs single ArrayList performance替换 Array 与单个 ArrayList 性能
【发布时间】:2013-04-23 11:41:41
【问题描述】:

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

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

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

  2. 从头开始使用 ArrayList

  3. ???

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

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

【问题讨论】:

  • 你问的是哪种语言,Java?
  • 这是进行性能优化的错误方法。如果您有关于如何让您的程序运行得更快的假设,请对其进行测量。
  • 不是 1) 和 2) 一样,ArrayList 初始化为 20?
  • 如果你在谈论Java,我想点。 1和2是一样的。 ArrayList 已经按照您的观点运作。 1作品。最终,正如@MattBall 所提到的,您需要对其进行测量以查看适合您的用例的方法。

标签: arrays performance arraylist


【解决方案1】:

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

【讨论】:

  • 这适用于java,也适用于其他语言?
猜你喜欢
  • 2013-11-10
  • 2013-10-23
  • 1970-01-01
  • 2012-10-02
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多