JavaのHashMapの使い方!getやputなどのオペレーション。
この記事では、JavaのHashMapとその他のMapオブジェクトの特徴や使い方を勉強していく。
目次
HashMapとは?
キーと値をペアとして格納するオブジェクト。使い勝手がいいのでよく使われる。
intやfloatといったプリミティブ型は使用することは出来ないので、IntegerやFloatといったラッパークラスを使用する。
HashMapではキーの重複は許されない。重複するキーを使用した場合は、そのキーの以前の値が上書きされるので注意が必要だ。
Mapオブジェクト
Javaではよく使われる。
HashMapの使い方
では、HashMapの使い方を下のサンプルコードとともに勉強していこう。
import java.util.HashMap; class HashMapExample { // 顧客の名前と住んでいる都道府県をマッピングした例 private static HashMap<String, Prefecture> namePrefectureMap = new HashMap<String, Prefecture>(); private static void prepareSampleData() { // putを使ってキーと値を代入する。 namePrefectureMap.put("大谷 宏之", Prefecture.名古屋); namePrefectureMap.put("芳賀 浩章", Prefecture.大阪); namePrefectureMap.put("澤崎 克成", Prefecture.東京); namePrefectureMap.put("神戸 花絵", Prefecture.大阪); namePrefectureMap.put("大島 美幸", Prefecture.名古屋); } public static void main(String[] args) { HashMapExample.prepareSampleData(); // mapに納められているキーと値を確認したい場合はforeachを使うと便利。 namePrefectureMap.forEach((key, value)-> System.out.println(key + " → " + value)); // 値を取り出したい時はgetを使う。 System.out.println("神戸 花絵 → " + namePrefectureMap.get("神戸 花絵")); // getで存在しないキーを使った場合はnullが返される。 System.out.println("安坂 浅美 → " + namePrefectureMap.get("安坂 浅美")); // getOrDefaultを使えば、キーが存在しなかった場合のためのデフォルト値を指定できる。 System.out.println("安坂 浅美 → " + namePrefectureMap.getOrDefault("安坂 浅美", Prefecture.東京)); // 値を上書きしたい時もputを使用する。 namePrefectureMap.put("芳賀 浩章", Prefecture.東京); // 値を削除する時はremoveを使う。 namePrefectureMap.remove("澤崎 克成"); // キーがmapに格納されているか確認する時はcontainsKeyを使用する。 System.out.println("大島 美幸::" + namePrefectureMap.containsKey("大島 美幸")); // すべての値をリセットしたい時はclearを使う。 namePrefectureMap.clear(); } } enum Prefecture { 東京, 神奈川, 名古屋, 大阪; }