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