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 の比較
データ構造を選択する際の参考にしてください。
| 特徴 | List | Set | Map |
|---|---|---|---|
| 重複の許可 | 可能 | 不可 | キー:不可 値:可能 |
| キー・バリュー形式 | いいえ | いいえ | はい |
| 順序の保持 | はい | いいえ(TreeSet/LinkedHashSetを除く) | いいえ(TreeMap/LinkedHashMapを除く) |