Collections Framework
Collectionとは
コレクションとは複数の要素の集まりをいいます。Collections Frameworkとはその要素の集まりを操作、管理するための方法を定義したアーキテクチャです。 インターフェース内の多数のメソッドは、equalsメソッドとの関連で定義されます。
サブインタフェースの種類
インターフェース | 概要 |
---|---|
List | 順序付けされたコレクション。整数値のインデックスによって要素にアクセスしたり、検索したり可能 |
Set | 重複を許可しないコレクション |
Queue | 処理の前に要素を保持するために設計されたコレクション。FIFO(先入れ先だし)で要素の順序付けを行う |
SortedSet | Setインターフェースを継承し、重複非許可に加え、要素をルールに基づきソートする特性を持つ |
Map
Mapとは
キーと値のセットのオブジェクト
関連インターフェース
インターフェース | 概要 |
---|---|
HashMap | Mapに関連するオプションのオペレーションの全てをサポート。Mapの順序は保証されない。nullが使用できる |
TreeMap | キーの自然順序付け、マップ作成時に提供されるComparatorによってソートされる。 |
LinkedHashMap | HashMapとLinkedListの両方で管理するため、挿入された順番を保持する |
ジェネリック(総称型)
概要
クラスやメソッドに渡す型パラメーターのこと。代表的なものとして、List<T>
,Map<K, V>
など
class GenericClass<T> {
// 型Tのオブジェクトを受け取りそのまま結果を返す
public T method(T obj) {
return obj;
}
}
以下のコードと同じ動作
// TをObjectで読み替えたジェネリッククラスのイメージ
class GenericClass {
public Object method(Object obj) {
return obj;
}
}
GenericClass<Object> gc = new GenericClass<Object>;
ワイルドカードでの指定
型パラメーターの型指定に?
(ワイルドカード)が指定できる
public static void wildcardMethod(GenericClass<?> gc) {
// process
}