【Java】Mapのputについて(上書きや同じキーの取り扱いについて)

【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 にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP