tanish-kr's learning log

Learning output log

Java

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
}