Java インターフェース 〜Listの使い方、ワンポイントレッスン的な〜

イントロダクション

Javaの場合、インターフェースはよく使うもので「List」と「Map」があります。

Listインターフェース

インターフェースは実体を持たないクラスです。。。と記載しても意味がわからないと思います。コードで語りましょう。

public static void main(String[] args) {
  /* 配列(String[]型)のリストList<E>の
   * Eはエレメント(要素)で実際はなんでも良い
   */
  List<String> list1 = new ArrayList<String>();
  // 要素を順番に登録するLinkさせてリストを作ります。
  List<String> list2 = new LinkedList<String>();
}

正直、LinkedListをうまく説明できていないと思います。現状ではとりあえず『「ArrayList」と違うんだな!』と理解していただければ。。。

ArrayListLinkedListを比較してみましたが、結果は変わりませんでした。

テスト実行したソースはGitにアップしました。

早い話

インターフェース(List)を実装しているクラスは全く関係のないクラスだったとしてもListとして使用できるということです。

処理スピードが違うという噂を聞きましたが、この違いは大量データを厚勝つ時にはList, MapよりもHashTableを使用する方が良いと思っているので、考えたことがありませんです。。。