Java アドバンス

Java Map インターフェース

Map インターフェースは、Java Collections Framework の一部であり、キー・バリュー・ペア(キーと値のペア)を格納するために使用されます。各キーはユニーク(一意)である必要がありますが、値は重複しても構いません。

名前と年齢、IDと詳細説明のように、特定のキー(名前やID)に値(年齢や説明)を関連付けて管理したい場合に、Map は非常に便利です。

1. Map を実装する一般的なクラス

Map インターフェースを実装している主なクラスは以下の通りです。

  • HashMap: 高速に動作しますが、要素の順序は保持されません。
  • TreeMap: キーの自然順序、または指定したコンパレータによってソートされます。
  • LinkedHashMap: 要素が挿入された順序を保持します。

       ヒント: ユーザーIDにユーザー名を紐づけて保存する場合など、ユニークなキーに値を関連付けたいときは Map を使用してください。

2. Map の主なメソッド

以下は、Map でよく使用される基本的なメソッドです。

メソッド説明
put()キーと値のペアを追加、または更新します
get()指定したキーに対応する値を返します
remove()キーとその値を削除します
containsKey()マップ内に特定のキーが存在するかどうかを確認します
keySet()マップに含まれるすべてのキーを Set 形式で返します

3. Map vs. Set vs. List の比較

データ構造を選択する際の参考にしてください。

特徴ListSetMap
重複の許可可能不可キー:不可
値:可能
キー・バリュー形式いいえいいえはい
順序の保持はいいいえ(TreeSet/LinkedHashSetを除く)いいえ(TreeMap/LinkedHashMapを除く)