この記事の概要
以下の①~④の具体的なサンプル実装についてAPI仕様をみて考察していきます。
・コレクション
・ArrayLis
①ArrayLisのインスタンスを定義してアクセス
②ListインターフェースでArrayListインスタンスにアクセス
・HashSet
③SetインターフェースでHashSetインスタンスにアクセス
・マップ
・HashMap
④MapインターフェースでHashMapインスタンスにアクセス
実装の確認
■サンプル実装の実行結果
■コード
① ArrayList<データ型> 変数名 = new ArrayList<データ型>();
② List<データ型> 変数名 = new ArrayList<データ型>();
③ Set<データ型> 変数名 = new HashSet<データ型>();
④ Map<データ型> 変数名 = new HashMap<データ型>();
①については、左辺も右辺もArrayList(クラス)です。
左辺でArrayListのインスタンスへの参照のための変数を用意し、右辺でインスタンス化
②~④については、左辺と右辺で型の記述が異なります。
左辺では、インターフェース。右辺がそのインターフェースをimplementsしたクラス
API仕様の確認
■ArrayListについて確認
・java.util.AbstractCollection
ArrayListがコレクションの一部と呼ばれる所以です。
ArrayListは、AbstractCollectionを継承しています。
・implements List
Listインターフェースをインプリメントしています。よって、リストインターフェース
からもアクセス可能です。
■AbstractCollectionについて
・implements Collection
コレクションインターフェースをインプリメントしています。
■Listについて
・extends Collection
こちらも上位インターフェースにコレクションを持っています。