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年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。 
最新の投稿
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能④
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能③
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能②
山崎講師2025年11月2日Pythonの「なるほど!」と思えるユニークな機能①