カテゴリ: Javaのマップ 更新日: 2026/06/14

JavaのHashMapでデフォルト値を設定する方法を徹底解説 getOrDefaultの使い方入門

2028
Java の HashMap のデフォルト値を設定する(getOrDefault)

先生と生徒の会話形式で理解しよう

生徒

「JavaのHashMapでキーが存在しないときにエラーにならずに安全に値を取得する方法はありますか」

先生

「ありますよ。JavaのMapインターフェースに用意されているgetOrDefaultメソッドを使えば、キーが存在しない場合にデフォルト値を返すことができます。」

生徒

「HashMap初心者でも使えますか。null対策にもなりますか」

先生

「もちろんです。Java初心者でも簡単に使えますし、nullチェックのコードを減らせるのでとても便利です。それでは基本から見ていきましょう。」

1. HashMapとgetOrDefaultとは

1. HashMapとgetOrDefaultとは
1. HashMapとgetOrDefaultとは

JavaのHashMapは、キーと値をセットで管理するコレクションです。Javaのマップ構造はデータ検索が高速で、業務システムやWebアプリケーション開発でもよく使われます。

通常、HashMapで値を取得するときはgetメソッドを使います。しかし、指定したキーが存在しない場合はnullが返ります。このnullが原因でNullPointerExceptionが発生することがあります。

そこで便利なのがgetOrDefaultメソッドです。これは、キーが存在しないときにあらかじめ指定したデフォルト値を返してくれる機能です。JavaのHashMapでデフォルト値を設定する基本テクニックとして覚えておきましょう。

2. getメソッドとの違いを理解しよう

2. getメソッドとの違いを理解しよう
2. getメソッドとの違いを理解しよう

まずは通常のgetメソッドの動作を確認します。キーが存在しない場合、nullが返る点が重要です。


import java.util.HashMap;

public class HashMapGetExample {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put("apple", "りんご");

        String value = map.get("banana");
        System.out.println(value);
    }
}

実行結果は次のようになります。


null

このように、キーが存在しないとnullが返ります。ここでそのままvalueに対してメソッドを呼び出すとエラーになる可能性があります。

3. getOrDefaultの基本的な使い方

3. getOrDefaultの基本的な使い方
3. getOrDefaultの基本的な使い方

それではJavaのHashMapでデフォルト値を設定する方法として、getOrDefaultを使ってみましょう。


import java.util.HashMap;

public class HashMapGetOrDefaultExample {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put("apple", "りんご");

        String value = map.getOrDefault("banana", "未登録");
        System.out.println(value);
    }
}

実行結果です。


未登録

キーbananaは存在しませんが、第二引数で指定した未登録が返っています。これがJavaのgetOrDefaultメソッドの基本動作です。nullチェックを書かなくても安全に値を取得できるのが大きなメリットです。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 数値データでの活用例

4. 数値データでの活用例
4. 数値データでの活用例

JavaのHashMapは、カウント処理にもよく使われます。例えば単語の出現回数を数える場合です。このときgetOrDefaultを使うとコードがとてもシンプルになります。


import java.util.HashMap;

public class WordCountExample {
    public static void main(String[] args) {
        String[] words = {"java", "map", "java", "hashmap"};
        HashMap<String, Integer> countMap = new HashMap<>();

        for (String word : words) {
            int count = countMap.getOrDefault(word, 0);
            countMap.put(word, count + 1);
        }

        System.out.println(countMap);
    }
}

実行結果です。


{java=2, map=1, hashmap=1}

キーが初めて登場した場合は0をデフォルト値として取得し、その後に1を加算しています。Java初心者にとっても分かりやすいパターンです。

5. null対策としてのgetOrDefault

5. null対策としてのgetOrDefault
5. null対策としてのgetOrDefault

Javaの開発現場ではnull対策がとても重要です。HashMapの値がnullのまま処理を続けると、予期せぬエラーにつながります。getOrDefaultを使えば、あらかじめ安全な初期値を設定できます。


import java.util.HashMap;

public class NullSafeExample {
    public static void main(String[] args) {
        HashMap<String, String> userMap = new HashMap<>();

        String name = userMap.getOrDefault("username", "ゲスト");
        System.out.println("ログインユーザー: " + name);
    }
}

ログインユーザー: ゲスト

このようにJavaのHashMapでデフォルト値を設定しておけば、ユーザー名が未設定でも安全に表示できます。Webアプリや業務アプリケーションでもよく使われるテクニックです。

6. getOrDefaultを使うときの注意点

6. getOrDefaultを使うときの注意点
6. getOrDefaultを使うときの注意点

JavaのgetOrDefaultは非常に便利ですが、いくつか注意点があります。まず、キーが存在していて値がnullの場合は、nullがそのまま返ります。つまり、キーの有無だけを判定する動作です。

また、デフォルト値はマップに自動的に登録されるわけではありません。あくまで取得時の戻り値として使われるだけです。実際にマップへ保存したい場合は、putメソッドを使って明示的に追加する必要があります。

JavaのHashMapでデフォルト値を設定する方法としてgetOrDefaultは基本ですが、computeIfAbsentなど他のメソッドもあります。まずはgetOrDefaultをしっかり理解してから、応用メソッドへ進むと学習効率が高まります。

Java初心者の方は、HashMap、Mapインターフェース、getメソッド、getOrDefaultメソッドの違いを整理しながら学習すると理解が深まります。安全なコーディングとnull対策の第一歩として、ぜひ実際に手を動かして試してみてください。

まとめ

まとめ
まとめ

今回はJavaのHashMapでデフォルト値を設定する方法としてgetOrDefaultメソッドの使い方を学びました。HashMapはキーと値を管理する代表的なコレクションであり、Java入門者から実務レベルのエンジニアまで幅広く利用されています。特にMapインターフェースの基本操作であるgetメソッドとgetOrDefaultメソッドの違いを理解することは、null対策や安全なプログラミングの基礎となります。

通常のgetメソッドでは、キーが存在しない場合にnullが返るため、その後の処理でNullPointerExceptionが発生する可能性があります。しかしgetOrDefaultを使えば、キーが未登録の場合でもあらかじめ指定したデフォルト値を取得できるため、Javaのエラーハンドリングや例外対策の観点でも非常に有効です。

また、HashMapを使ったカウント処理や集計処理では、getOrDefaultを利用することでコードを簡潔に書くことができます。単語の出現回数カウントやユーザー別集計など、業務システムやWebアプリケーション開発でも頻出するパターンです。Javaのコレクションフレームワークを効率よく扱うためにも、getOrDefaultの活用は必須スキルと言えるでしょう。

さらに重要なのは、getOrDefaultはデフォルト値を返すだけであり、HashMapに自動的に値を保存するわけではないという点です。値を実際に登録したい場合はputメソッドを使う必要があります。この仕様を正しく理解しておくことで、意図しないバグを防ぐことができます。

Java初心者の方は、HashMapの基本構造、Mapインターフェースの役割、getとgetOrDefaultの違い、null対策の考え方をセットで学習することが大切です。今回の内容を何度も実行しながら確認することで、Javaプログラミングの基礎力が着実に身につきます。デフォルト値の設定という一見小さなテクニックですが、安全で読みやすいコードを書くための重要なポイントです。

復習サンプルプログラム

最後に、HashMapとgetOrDefaultを使った基本的な復習コードを確認しておきましょう。Javaの基礎文法と合わせて理解すると効果的です。


import java.util.HashMap;

public class HashMapSummaryExample {
    public static void main(String[] args) {
        HashMap<String, Integer> scoreMap = new HashMap<>();
        scoreMap.put("taro", 80);
        scoreMap.put("hanako", 90);

        int taroScore = scoreMap.getOrDefault("taro", 0);
        int jiroScore = scoreMap.getOrDefault("jiro", 0);

        System.out.println("taroの点数: " + taroScore);
        System.out.println("jiroの点数: " + jiroScore);
    }
}

実行結果は次の通りです。


taroの点数: 80
jiroの点数: 0

このように、存在しないキーに対しても安全に初期値を返せることが確認できます。JavaのHashMapでデフォルト値を設定する方法としてgetOrDefaultを使うことで、nullチェックを減らし、可読性の高いコードを書くことができます。

先生と生徒の振り返り会話

生徒

「JavaのHashMapでデフォルト値を設定する方法としてgetOrDefaultがとても便利だと分かりました。キーが存在しないときでも安全に値を取得できるのですね。」

先生

「その通りです。getメソッドとの違いを理解することが大切です。getはnullを返しますが、getOrDefaultは指定した初期値を返します。null対策として非常に有効です。」

生徒

「カウント処理でも使えるのが印象的でした。Javaのコレクションを扱うときは積極的に活用したいです。」

先生

「良いですね。HashMapはJavaプログラミングの基本です。Mapインターフェースの理解を深めながら、getOrDefaultや他の便利なメソッドも学んでいきましょう。基礎を固めることが、実践力の向上につながります。」

Javaのマップの一覧へ
新着記事
Python
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに解説
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに徹底解説
Dart
Dartのクラスの作り方!定義・インスタンス生成の基礎
Dartのクラスの作り方を完全解説!初心者でも理解できるクラス定義とインスタンス生成の基礎
Java
Javaの同一性と同値性
Javaの同一性と同値性をわかりやすく解説!初心者向けの基礎知識
AWS
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク