考慮下面的兩段代碼:ArrayList中的add()的行爲方式
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 [] ...所以第二個代碼片段需要將原始數組複製到某個地方,然後在位置0創建一個新的'0'...所以我認爲第一種方法確實比較好?
在這個級別上擔心性能差異確實是非常沒有意義的。如果你有一個完整的項目-AND-分析表明你在模塊中存在性能問題... - 那麼考慮微優化是合理的。上面代碼片段的差異可能會很小。 – scottb