
お知らせ
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を使いこなすまでの道は険しい……!