【发布时间】:2013-11-10 12:38:41
【问题描述】:
我想知道如果我使用原始数组然后重建它以添加新元素,性能是否会有所不同:
AnyClass[] elements = new AnyClass[0];
public void addElement(AnyClass e) {
AnyClass[] temp = new AnyClass[elements.length + 1];
for (int i = 0; i < elements.length; i++) {
temp[i] = elements[i];
}
temp[elements.length] = e;
elements = temp;
}
或者如果我只使用 ArrayList 并 add 元素。
我不确定这就是我问的原因,它的速度是否相同,因为 ArrayList 的构建方式与我使用原始数组的方式相同,还是真的存在差异,原始数组总是更快,即使每次添加元素时都要重建它?
【问题讨论】:
-
当您已经完成了经过良好测试的实现,为什么还要实现自己的?
-
这只是关于性能我问自己是否可以使用原始类型来改进它
-
这将非常容易实现这两种解决方案并运行基准测试来比较两者之间的速度。
-
请修正第一条语句。
标签: java arrays performance arraylist