【发布时间】:2015-08-20 16:05:18
【问题描述】:
考虑以下两个代码sn-ps:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(0);
for (int i=1; i<10; i++)
list.add(i);
和
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i=1; i<10; i++)
list.add(i);
list.add(0,0);
我真的很想知道这两种情况是否有任何性能差异?我在想的是 ArrayList 实际上是一个 Object[] ......所以第二个代码 sn-p 需要将原始数组复制到某个地方,然后在位置 0 处创建一个带有 '0' 的新数组......所以我认为第一种方法确实更好?
【问题讨论】:
-
担心这个级别的性能差异几乎毫无意义。如果您有一个完整的项目-并且-分析表明您在模块中存在性能问题...-那么-考虑微优化是合理的。上面代码 sn-ps 的差异可能非常小。
标签: java arrays performance arraylist