🙌

【Java】GenericsとCollections

2023/12/06に公開

概要

両者の概念がわかりにくいので、備忘録を作成。

Generics

Genericsとは、クラス、メソッド、変数に対して、型パラメータを指定することで、特定の方のデータのみ扱う手法。こうすることで、コンパイル時に型チェックが行われるため、型関連のエラーが起こりにくくなる。

いかが一例で、List <String.> は、「文字列のリスト」を意味する。これを使用することで、このリストは文字列のみ保持することが保障される。そのため、もしここに別の方のオブジェクト(例えば整数)を追加しようとすると、エラーが発生する。

List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("Hello");
listOfStrings.add("World");

コレクション

コレクションとは、データを効率的に管理するための一連のデータ構造である。

例えば、この例ではArrayListという文字列にリストを保存している。ssおいて、要素に対して、indexを割り当てている。

List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("Apple");
listOfStrings.add("Banana");

こちらの例では、Iteratorを使用してリストの要素を順にアクセスしている。iteratorは、コレクションの要素を反復処理するための標準的な手法である。

Iterator<String> iterator = listOfStrings.iterator();
while(iterator.hasNext()){
    System.out.println(iterator.next());
}

Discussion