ArrayListとLinkedListの比較
Listが必要な場合になんでもかんでもArrayListを使う人がいる。Listに限らず用途に合ったものを選んで欲しいよね。
ついでに、戻り値の型をなんでもかんでも抽象クラス(インタフェース)にする人もいる。必要ないときは実装クラスで返して下さいな。
public void run(List l) { System.out.println("[" + l.getClass().getName() + "]"); for (int ii = 0; ii < LOOP_NUM; ii++) { l.add(0, new Object()); } printTime("add"); for (int ii = 0; ii < l.size(); ii++) { l.get(ii); } printTime("get"); for (Iterator it = l.iterator(); it.hasNext();) { it.next(); } printTime("it "); } public void run() { run(new LinkedList()); run(new ArrayList()); }
[java.util.LinkedList] add: 000170ms get: 077692ms it : 000010ms [java.util.ArrayList] add: 013980ms get: 000010ms it : 000010ms