【Java入門】連想配列の追加、変更、削除をしてみよう!:HashMapクラス

投稿日: 作成:   更新:

Javaの連想配列の操作「追加、変更、削除」について解説します。

Javaで連想配列を使うには「HashMapクラス」を使用します。

連想配列に分からない方は「【Java入門】配列、連想配列を使ってみよう!」の記事を読んでいただければと思います。

まずは連想配列の操作は「どんなことができるのか」の感覚だけでもつかんでもらえればOKですので、さらっと読んでください。

インデックス番号の配列操作については、「【Java入門】配列の追加、変更、削除をしてみよう!」で解説していますので、配列が分からない方はこちらも読んでみてください。

それでは行きましょう!

連想配列に要素を追加

連想配列に要素を追加するには、HashMap.put() メソッドを使用します。

[キー名] で指定した要素に値を入れて追加できます。

次の例では、配列に「watermelon => すいか」を追加するソースを書いてみます。

HashMap<String, String> map = new HashMap<String, String>() {
    {
        put("banana", "バナナ");
        put("strawberry", "イチゴ");
    }
};

// 「すいか」を追加
map.put("watermelon", "すいか");

System.out.println(map);

実行結果:

このように「すいか」を追加することができました。

連想配列の値を変更

連想配列の値を変更してみたいと思います。

指定キーの値を変更

指定キーの値を変更するには、HashMap.replace() メソッドを使用します。

次のソースコードでは、連想配列のキー”strawberry”を指定して「イチゴ」を「苺」に値を変更します。

HashMap<String, String> map = new HashMap<String, String>() {
    {
        put("banana", "バナナ");
        put("strawberry", "イチゴ");
    }
};

// 「イチゴ」を漢字の「苺」に変更する
map.replace("strawberry", "苺");

System.out.println(map);

実行結果:

同じキー”strawberry”の値「イチゴ」が「苺」変わりましたね。

ループ条件の中で値を変更

連想配列をforeachでループしながら条件に一致した場合、値が変更されるようにソースコードを書いてみます。

HashMap<String, String> map = new HashMap<String, String>() {
    {
        put("banana", "バナナ");
        put("strawberry", "イチゴ");
    }
};

// 連想配列をループしてキーが「strawberry」なら値を「苺」に変更する
for (String key : map.keySet()) {
    if (key.equals("strawberry")) {
        map.replace(key, "苺");
    }
}

System.out.println(map);

「指定キーの値を変更」と同じ結果で、キー”strawberry”の時に「イチゴ」が「苺」に変更されました。

連想配列の値を変更する場合は、このようにループしながらの使い方が多いです。

連想配列の削除

最後に連想配列の要素削除を紹介します。

指定の要素を削除

HashMap.remove() メソッドにキー指定した連想配列をセットして呼ぶと、指定の要素を削除することができます

次のソースコードでは、キー”strawberry”の要素をremove() メソッド引数にセットして削除しています。

HashMap<String, String> map = new HashMap<String, String>() {
    {
        put("banana", "バナナ");
        put("strawberry", "イチゴ");
        put("watermelon", "すいか");
    }
};

// イチゴを削除
map.remove("strawberry");

System.out.println(map);

実行結果:

「”strawberry” => “イチゴ”」が削除されました。

すべての要素を削除

HashMap.clear() メソッド を使うと連想配列の要素をすべて削除することができます。

HashMap<String, String> map = new HashMap<String, String>() {
    {
        put("banana", "バナナ");
        put("strawberry", "イチゴ");
        put("watermelon", "すいか");
    }
};

// 連想配列の要素をすべて削除
map.clear();

System.out.println(map);

実行結果:

連想配列の要素をすべて削除することができました。

まとめ

Javaの連想配列について次の内容で解説しました。

  • 連想配列の要素の追加
  • 連想配列の値を変更(キー指定、ループ)
  • 連想配列の要素の削除(キー指定、すべて)

連想配列の追加・変更・削除について色々と解説しましたが、

まずは「連想配列でこんなことができるんだ!」の感覚で覚えてみてください。

プログラミングはあくまで「コンピューターを動かすための手段」ですので、手段ばかりを時間かけて覚えるより「どんなことができるか?」を覚えることの方が大事です。

「どんなことがしたいか」が決まって、実際に連想配列でプログラミングするときにこの記事をじっくり見ていただければ幸いです。