LinkedHashMap
キーと値のペアを要素とした集まり。
※インポートが必要です。
import java.util.LinkedHashMap;
宣言
ジェネリックス(<>)に入れるデータ型がカンマ区切りで2種類あります。
1つ目がキーのデータ型、
2つ目がキーに紐づく値のデータ型を設定します。
宣言
LinkedHashMap<Integer, String> lunchMap = new LinkedHashMap<>();
ペア(キーと値)の追加
put(キー,値)
キーは重複は許可されません。
同じキーを登録しようとすると、後から足した方に上書きされます。
put(キー,値)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.put("牛丼", 850); /* 牛丼=800 が上書きされます*/
System.out.println(lunchMap);
/* {牛丼=850, カレー=700, ハンバーガー=500} */
キーからペアの値を取得
get(キー名)
存在しないキーを設定した場合はnullが返ってくる。
get(キー名)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.get("牛丼"));
/*800*/
System.out.println(lunchMap.get("うどん"));
/*null*/
ペアの数を取得
size()
size()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.size());
/*3*/
ペア(キー)の有無を確認
containsKey(キー名)
containsKey()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.containsKey("カレー"));
/*true*/
System.out.println(lunchMap.containsKey("うどん"));
/*false*/
ペアの削除
remove(キー名)
remove(キー名)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.remove("ハンバーガー");
System.out.println(lunchMap);
/*{牛丼=800, カレー=700}*/
全てのペアの削除
clear()
clear()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.clear();
System.out.println(lunchMap);
/*{}*/
空っぽかどうかの確認
isEmpty()
clear()
lunchMap.clear();
System.out.println(lunchMap.isEmpty());
/*{true}*/
forEachでペアを全て出力
forEach
clear()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.forEach((key, value) -> System.out.println(key + ":" + value));
/*
牛丼:800
カレー:700
ハンバーガー:500
*/
拡張for文でペアを全て出力
keyとvalueを、keySetメソッドとgetメソッドでそれぞれ定義します。
データ型に注意しましょう。
拡張for
拡張for
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
for (String key : lunchMap.keySet()){
Integer value = lunchMap.get(key);
System.out.println(key + ":" + value);
}
/*
牛丼:800
カレー:700
ハンバーガー:500
*/