PythonとJavaの辞書(マップ)の使い方を徹底解説!初心者にもわかりやすく比較

こんにちは。ゆうせいです。
今回はプログラミングでよく使う「辞書(マップ)」についてお話しします。
「リストや配列は数字の順番だったけど、辞書って何が違うの?」
そんな方のために、PythonとJavaにおける「キーと値のセット」でデータを扱う辞書(Python)とマップ(Java)の考え方や使い方をやさしく説明します!
辞書(マップ)とは?
辞書とは、「キー(名前)と値(データ)」をセットにして保存するデータ構造です。
例えるなら、「電話帳」や「英和辞典」のようなものです。
たとえば「名前 → 電話番号」、「単語 → 意味」のように
キーを使って、値にアクセスします。
Pythonの辞書(dict)
Pythonでは、辞書をdict
(ディクト)型として使います。
基本の書き方
person = {
"name": "ゆうせい",
"age": 25,
"city": "東京"
}
print(person["name"]) # ゆうせい
"name"
がキー"ゆうせい"
が値dict[キー]
でアクセス
よく使う操作
操作内容 | コード例 | 説明 |
---|---|---|
値の取得 | person["age"] | キーから値を取り出す |
値の変更 | person["city"] = "大阪" | キーの値を上書き |
キーの追加 | person["email"] = "..." | 新しいキーを追加 |
キーの削除 | del person["age"] | キーと値のペアを削除 |
キー一覧 | person.keys() | 全てのキーを取得 |
値一覧 | person.values() | 全ての値を取得 |
全てのペア取得 | person.items() | (キー, 値)のペアを取得 |
Javaの辞書:HashMap
Javaでは、辞書のような機能はMap
インターフェースを実装したHashMap
クラスを使います。
import java.util.HashMap;
HashMap<String, Object> person = new HashMap<>();
person.put("name", "ゆうせい");
person.put("age", 25);
person.put("city", "東京");
System.out.println(person.get("name")); // ゆうせい
put(キー, 値)
で追加・更新get(キー)
で値を取得remove(キー)
で削除
よく使うメソッド
操作内容 | コード例 | 説明 |
---|---|---|
値の取得 | person.get("name") | キーから値を取り出す |
値の変更 | person.put("city", "大阪") | 上書きされる |
キーの追加 | person.put("email", "...") | 新しいキーを追加 |
キーの削除 | person.remove("age") | 指定したキーを削除 |
キー一覧 | person.keySet() | 全てのキーを取得 |
値一覧 | person.values() | 全ての値を取得 |
ペアの一覧 | person.entrySet() | Map.Entryのセットで取得 |
PythonのdictとJavaのHashMapの比較表
項目 | Python(dict) | Java(HashMap) |
---|---|---|
定義の簡単さ | {} で簡単に書ける | new HashMap<>() が必要 |
型指定 | どんな型も混ぜて使える | Genericsで型を指定するのが基本 |
存在しないキーの扱い | エラー(KeyError )になる | null が返ってくる |
データの操作方法 | dict[キー] やメソッド で操作 | put() 、get() 、remove() など |
例で理解を深めよう!
辞書に「学生の成績」を保存する
Python:
scores = {
"太郎": 80,
"花子": 90,
"一郎": 70
}
for name, score in scores.items():
print(f"{name}さんの点数は{score}点です")
Java:
HashMap<String, Integer> scores = new HashMap<>();
scores.put("太郎", 80);
scores.put("花子", 90);
scores.put("一郎", 70);
for (String name : scores.keySet()) {
System.out.println(name + "さんの点数は" + scores.get(name) + "点です");
}
どちらが使いやすい?
Pythonのdictの特徴:
- シンプルな構文で直感的!
- 型が自由で柔軟性が高い
JavaのHashMapの特徴:
- 型安全性が高い
- 大規模開発での構造的な設計に向いている
まとめと次のステップ
- Pythonの
dict
とJavaのHashMap
は、キーと値のペアを扱う構造 - 操作方法や考え方は似ているけれど、文法と型の扱い方に違いがある
- どちらも「検索」「追加」「更新」「削除」が簡単にできる!
次に学ぶべきこと!
辞書・マップの基本をおさえたら、次はこのあたりに進むと理解が深まります!
- ネストされた辞書(辞書の中に辞書)
- キーの存在チェック:
in
(Python)やcontainsKey()
(Java) - 順序付きマップ(Javaの
LinkedHashMap
など) - defaultdict(Python) や Mapの初期化(Java) の便利技
次のテーマのリクエストも大歓迎です!気になることがあれば、どんどん聞いてくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。