Contents
【Java】Mapのputについて(上書きや同じキーの取り扱いについて)
この記事ではJavaのMapのputについて解説します。
※全般的な使い方については以下に解説してます。
put(キー値, 値) | Mapにキー値と値のペアを格納する。 |
putメソッドを使用すると、Mapにキー値と値のペアを格納することができます。
Map<String, String> map = new HashMap<>(); System.out.println(map); map.put("キー値", "値"); map.put("キー値2", "値2"); System.out.println(map); //実行結果 {} {キー値=値, キー値2=値2}
put前⇒「{}」※カラ
put後⇒「{キー値=値, キー値2=値2}」とMapにデータが格納されたことを確認できます。
同じキー値を指定すると値が上書き、値が同一値の場合は上書きされない
すでに存在するキー値に対してputを実施すると値が上書きされます。
Map<String, String> map = new HashMap<>(); map.put("キー値", "値"); System.out.println(map); map.put("キー値", "変更後値"); System.out.println(map); //実行結果 {キー値=値} {キー値=変更後値}
同一値の場合は、put前後に値の変更はありません
Map<String, String> map = new HashMap<>(); map.put("キー値", "値"); System.out.println(map); map.put("キー値", "値"); System.out.println(map); //実行結果 {キー値=値} {キー値=値}
値の重複は、問題なく追加可能
Map<String, String> map = new HashMap<>(); map.put("キー値", "値"); System.out.println(map); map.put("キー値2", "値"); System.out.println(map); // 実行結果 {キー値=値} {キー値=値, キー値2=値}
putでMapの値にListやMapを追加することもできる
Mapの値にはListやMapを宣言することで格納することも可能です。
// MapにListを追加 Map<String, List<String>> map = new HashMap<>(); List<String> list= new ArrayList <>(Arrays.asList("1", "リスト")); map.put("キー値1", list); System.out.println(map); // 上書きも可能 list.add("追加された"); map.put("キー値1", list); System.out.println(map); //実行結果 {キー値1=[1, リスト]} {キー値1=[1, リスト, 追加された]}
// MapにMapを追加 Map<String, Map<String, String>> map = new HashMap<>(); Map<String, String> wkmap = new HashMap<>(); wkmap.put("キー値1", "値"); map.put("キー値", wkmap); System.out.println(wkmap); System.out.println(map); // 上書きも可能 wkmap.put("キー値2", "追加値"); map.put("キー値", wkmap); System.out.println(map); // 実行結果 {キー値1=値} {キー値={キー値1=値}} {キー値={キー値1=値, キー値2=追加値}}
※Mapの中のListの取得については以下に解説してます。
Javaの記事の一覧はJava にまとめてあります