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 {
東京, 神奈川, 名古屋, 大阪;
}