Nic*_*aus 0 java arrays performance arraylist
我想知道如果我使用原始数组然后重建它以添加这样的新元素,性能是否会有所不同:
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;
}
Run Code Online (Sandbox Code Playgroud)
或者如果我只是使用ArrayList并添加元素。
我不确定这就是我问的原因,它的速度是否相同,因为 ArrayList 的构建方式与我对原始数组的构建方式相同,还是确实存在差异,即使我重新构建原始数组,它也总是更快每次我添加一个元素?
ArrayLists 以类似的方式工作,但不是在每次达到限制时将容量加倍时重建。因此,如果您不断向它添加 ArrayLists 会更快,因为重新创建数组相当慢。因此,如果您不经常添加内存,您的实现可能会使用更少的内存,但就速度而言,大多数时候它会变慢。
| 归档时间: |
|
| 查看次数: |
2997 次 |
| 最近记录: |