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年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。