JavaのMapとは?キーと値の組み合わせでデータを管理する考え方

最終更新日

Schoo Java入門 初級 第8回 ポリモーフィズム・コレクション

本記事は、Schooの「Java入門 初級【2026年版】」第8回「ポリモーフィズム・コレクション」を学ぶ前後に、Javaの MapHashMap を整理したい方向けのステップアップ学習記事です。

結論からいうと、Map は「キー」と「値」をセットで管理するための仕組みです。たとえば、Alice という名前から 80 点を取り出すように、何かを手がかりにして値を取得したいときに使います。

Schoo コースページ:Java入門 初級【2026年版】

Mapはキーと値をセットで持つ

List は、複数のデータを順番に並べて扱うときに便利です。一方で、Map は「名前から点数を取り出す」「商品コードから商品名を取り出す」のように、キーを指定して値を取り出したいときに使います。

図解:Mapはキーで値を取り出す
List
0 → Alice
1 → Bob
2 → Carol
順番や位置で扱う
Map
Alice → 80
Bob → 65
Carol → 90
キーを指定して値を取り出す
Mapは「名前から点数を取り出す」のように、キーと値をセットで管理したいときに使います。

Mapでは、左側の AliceBob のような取り出すための目印を「キー」、右側の 8065 のような実際のデータを「値」と考えます。

HashMapを作成する

文字列の名前をキーにして、整数の点数を管理する場合は、次のように書けます。

import java.util.HashMap;
import java.util.Map;

Map<String, Integer> scores = new HashMap<>();

Map<String, Integer> は「キーは文字列、値は整数のMap」という意味です。new HashMap<>() で、実際に使うMapの本体を作っています。

ここでも、左側が Map なのに右側が HashMap になっています。Map は「キーと値の組み合わせとして使えるもの」という大きなくくりで、HashMap はその具体的な作り方の1つです。

putでデータを登録する

Mapにデータを登録するときは、put() を使います。

scores.put("Alice", 80);
scores.put("Bob", 65);
scores.put("Carol", 90);

このコードでは、Alice というキーに 80Bob というキーに 65Carol というキーに 90 を結びつけています。

図解:putで登録し、getで取り出す
登録する
scores.put(
“Alice”, 80);
Aliceというキーに80を結びつける
中に保存される形
Alice → 80
取り出す
scores.get(
“Alice”);
キーを指定すると80が返る
Mapでは、値だけを入れるのではなく「どの名前で取り出すか」というキーも一緒に登録します。

getで値を取り出す

登録した値を取り出すときは、get() にキーを渡します。

System.out.println("Aliceの点数:" + scores.get("Alice"));

scores.get("Alice") は、Alice というキーに対応する値を取り出します。上の例では 80 が取り出されます。

removeでデータを削除する

Mapからデータを削除するときは、remove() にキーを渡します。

scores.remove("Bob");

このコードを実行すると、Bob というキーと、それに対応する 65 という値がまとめて削除されます。

keySetでMap全体を表示する

Mapの中身をすべて表示したいときは、まず keySet() でキーの一覧を取り出します。そのキーを1つずつ見ながら、get() で値を取り出します。

for (String name : scores.keySet()) {
    System.out.println(name + ":" + scores.get(name));
}

name には、AliceBobCarol のようなキーが1つずつ入ります。そして scores.get(name) で、そのキーに対応する点数を取り出しています。

図解:keySetでキーを順番に取り出す
Mapの中身
Alice → 80
Bob → 65
Carol → 90
キーを1つずつ見る
for (String name
: scores.keySet())
name に Alice、Bob、Carol が順番に入る
キーで値を取り出す
scores.get(name)
現在のキーに対応する点数を取り出す
Map全体を表示するときは、キーを順番に取り出し、そのキーを使って値を取得します。

Mapを使うときの注意点

Mapでは、同じキーに対してもう一度 put() すると、古い値が新しい値で上書きされます。

scores.put("Alice", 80);
scores.put("Alice", 95);

この場合、Alice に対応する値は 95 になります。Mapは「1つのキーに1つの値を対応させる」仕組みだと考えると理解しやすくなります。

確認問題

  1. Map は、どのようなデータを扱うときに便利ですか。
  2. scores.put("Alice", 80); は、何を登録している処理ですか。
  3. scores.get("Alice") を実行すると、何が取り出されますか。

演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。

あわせて読みたい関連記事

まとめ

Map は、キーと値をセットで管理するための仕組みです。put() で登録し、get() で取り出し、remove() で削除できます。順番に並べる List と、キーで取り出す Map の違いを押さえると、コレクションの使い分けが理解しやすくなります。

info

シェアする