【Java Map】キーと値のペアを管理する便利なデータ構造
目次
Java「Map」の基本

Java「Map」はインターフェースであり、具体的な実装はHashMapなど複数のクラスが存在します。
Mapの基本的な操作は以下の通りです。
- put(key, value): キーと値のペアを追加
- get(key): キーに紐づく値を取得
- containsKey(key): キーが存在するかどうかを確認
- remove(key): キーと値のペアを削除
- size(): Mapに含まれるキーと値のペアの数
これらの操作は、Mapインターフェースによって統一されたAPIで実行できます。
Java「Map」のサンプルコード:HashMap

Mapインタフェースの実装として、最もよく使われるのがHashMapクラスです。HashMapは、ハッシュテーブルと呼ばれるデータ構造を用いて、キーと値のペアを効率的に管理します。
// HashMapのインスタンスを作成 Map<String, String> map = new HashMap<>();
// キーと値のペアを追加 map.put("name", "田中 太郎"); map.put("age", "20");
// キーに紐づく値を取得 String name = map.get("name"); System.out.println(name); // 田中 太郎
// キーが存在するかどうかを確認 boolean isExists = map.containsKey("age"); System.out.println(isExists); // true
// キーと値のペアを削除 map.remove("age");
// Mapに含まれるキーと値のペアの数 int size = map.size(); System.out.println(size); // 1
HashMap
HashMapはJavaのMapインターフェイスを実装したクラスで、ハッシュテーブルを基にしています。ハッシュテーブルでは、各キーのハッシュコードを計算し、これを使ってデータを格納する位置を決定します。
この仕組みにより、HashMapは検索や更新が非常に高速に行えるのが特徴です。平均的な場合、これらの操作の時間複雑度はO(1)となりますが、最悪の場合はO(n)になることもあります。HashMapは順序を保持しないため、順序が重要な場合はLinkedHashMapなど他の実装を検討する必要があります。
その他のMap実装クラス
「HashMap」以下のようなMap実装クラスがあります。
- TreeMap:キーを昇順に並べた状態で格納します。
- LinkedHashMap:エントリが挿入された順序で格納します。
- WeakHashMap:キーがガベージコレクションによって回収されると、エントリも自動的に削除されます。
Java「Map」の活用例

Java「Map」は、様々なユースケースで活用できます。
以下は、Mapの代表的な利用例です。
- ユーザー情報の管理
- 商品情報の管理
- キャッシュの保存
- 設定情報の管理
Mapは、キーと値のペアを効率的に管理したい場合に非常に便利なデータ構造です。
まとめ

Mapは、Javaにおける重要なデータ構造です。キーと値のペアを効率的に管理でき、様々なユースケースで活用できます。
初心者の方でも理解しやすいように、例を用いてMapの基本的な操作と実装、そして活用例について解説しました。
Mapを使いこなせるようになると、Javaのコードがより分かりやすく、効率的に記述できるようになります。