【发布时间】:2013-04-23 11:41:41
【问题描述】:
这只是出于好奇而提出的问题。 假设我有一个应用程序,其中一些对象是在运行时动态创建的。 还可以说,在大多数情况下,对象的数量不会超过某个阈值,例如20. 作为最后一个前提条件,我们说优化性能非常重要。
性能更好的替代方案是什么?
首先创建一个数组[20]。添加对象时,检查数组是否已经被完全占用,如果是,则使用 newArray[array.length * f] 创建一个新数组,其中 f 是大于 1.0f 的浮点数。然后用新数组替换旧数组并添加项
从头开始使用 ArrayList
- ???
请记住,这完全是关于性能优化。
编辑 我不知道 java 中的确切实现,所以 1.) 和 2.) 可能是真的。但是读完这个:https://stackoverflow.com/a/10747397/1075211,我认为它可能会对 C# 或其他一些语言产生影响?
【问题讨论】:
-
你问的是哪种语言,Java?
-
这是进行性能优化的错误方法。如果您有关于如何让您的程序运行得更快的假设,请对其进行测量。
-
不是 1) 和 2) 一样,ArrayList 初始化为 20?
-
如果你在谈论Java,我想点。 1和2是一样的。 ArrayList 已经按照您的观点运作。 1作品。最终,正如@MattBall 所提到的,您需要对其进行测量以查看适合您的用例的方法。
标签: arrays performance arraylist