お知らせ
2023.12.5(Tue)
目次
こんにちは。java.util.Mapをかっこよく使いこなしたい関口です。
よく使われるMapについて、ざっくりまとめてみました!
Mapは種類もいろいろあります。追加する方法などは同じですが、追加した後に値が保持される順番が異なります。用途によって使い分けたいですね。
基本的なMapの宣言の仕方です。例文ではHashMapを使用します。
// データ型を指定してオブジェクト生成する Map<データ型, データ型> マップ変数 = new HashMap<>(); // String型を指定してオブジェクト生成する例 Map<String, String> map = new HashMap<>(); // Listを指定することもできます Map<String, List<String>> map = new HashMap<>();
追加する際は、keyとValueをセットで追加します。すでに同一のkeyが入っている場合は、上書きされます。
削除する際は、指定した値がMapに入っている場合にのみ削除されます。
// Mapに追加する
map.put("key", "value");
// keyだけ指定して削除する
map.remove("key");
// keyとvalueを指定して削除することもできます
map.remove("key", "value");
Mapに追加した要素でループします。
// Mapでループして、keyとvalueを取得する
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
}
// Mapのkeyだけでループすることもできます
for (String key : map.keySet()) {
}
// 同じくvalueだけでループもできます
for (String value : map.values()) {
}
よく使う便利なメソッドをまとめました。
// Mapに入っている値の数を返します【戻り値:int】
map.size();
// 指定したkeyがMapに含まれている場合にtrueを返します【戻り値:boolean】
map.containsKey("key");
// 指定したvalueがMapに含まれている場合にtrueを返します【戻り値:boolean】
map.containsValue("value");
// Mapに値が入っていない場合にtrueを返します【戻り値:boolean】
map.isEmpty();
// Mapの内容すべてを削除します
map.clear();
// 指定したkeyがMapに含まれている場合、valueを置き換えます
map.replace("key", "newValue");
// 指定したkeyとvalueのセットがMapに含まれている場合、valueを置き換えます
map.replace("key", "value", "newValue");
// Mapの内容すべてを別のMapへコピーします
Map<String, String> newMap = new LinkedHashMap<>();
newMap.putAll(map);
いかがでしたでしょうか。
今回紹介した他にも、便利メソッドがあるようなので、いろいろ試していきたいですね。
Mapを使いこなすまでの道は険しい……!