私が走るとき(それぞれ):
package containers;
import java.util.*;
public static void main(String[] args) {
List<Integer> arLst = new ArrayList<Integer>();
List<Integer> lnLst = new LinkedList<Integer>();
long start = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
arLst.add(i);
}
System.out.println("Array list: "+Long.toString(System.currentTimeMillis()-start));
start = System.currentTimeMillis();
for (int i = 0; i < 10000000; i++) {
lnLst.add(i);
}
System.out.println("Linked list: "+Long.toString(System.currentTimeMillis()-start));
}
実行時間はほぼ同じです。LinkedListの場合、時間の追加が速くなるはずです。なぜだろうか..(私が覚えているように、リスト全体を調べなければならないLinkedListとは異なり、配列はO(1)で挿入先を知っているので、中間の挿入と最後の要素の両方で意味があります)。