【Java】ListにMapを格納する手順

【Java】ListにMapを格納する手順

管理人
この記事ではJavaのListにMapを格納する手順について解説します。

ListにMapを格納する手順

 JavaのListにMapを格納するには以下の手順にて実施可能です。

  1. List<map<string, object>> で初期化する
  2. 格納用のMapを用意する
  3. addメソッドでListにMapを格納する

 

① List<map<string, object>>についてはListに追加する値についてはMapを指定するといった意味となります。

List<Map<String,Object>>ListMap = new ArrayList<Map<String,Object>>();
System.out.println(ListMap);

// 実行結果
[]

②格納用のMapを用意します。List<Map<String,Object>>としているのでMapの型はMap<String,Object>とする必要があります。

Map<String,Object>Map = new HashMap<String,Object>();
// テストのため、任意の値を代入
Map.put("key1","value1");
Map.put("key2","value2");
System.out.println(Map);

// 実行結果
{key1=value1, key2=value2}

③Listのため、要素を追加するaddメソッドでListにMapを格納することができます。ListにMapを保持するのは複数件のケースが多いため、以下では2件分追加します。

ListMap.add(new HashMap<String,Object>(Map));
ListMap.add(new HashMap<String,Object>(Map));
System.out.println(ListMap.size());
System.out.println(ListMap);

// 実行結果
2
[{key1=value1, key2=value2}, {key1=value1, key2=value2}]

Listの件数は、Mapを全体を1件としてます。※キー値や値の数ではないことを確認できます。

①~③を通しで実行したサンプルプログラムは以下となります。

// 初期値にカラを代入した初期化
List<Map<String,Object>>ListMap = new ArrayList<Map<String,Object>>();
System.out.println(ListMap);

Map<String,Object>Map = new HashMap<String,Object>();
// テストのため、任意の値を代入
Map.put("key1","value1");
Map.put("key2","value2");
System.out.println(Map);


ListMap.add(new HashMap<String,Object>(Map));
ListMap.add(new HashMap<String,Object>(Map));
System.out.println(ListMap.size());
System.out.println(ListMap);

// 実行結果
[]
{key1=value1, key2=value2}
2
[{key1=value1, key2=value2}, {key1=value1, key2=value2}]

List<Map<String,Object>>からデータを取り出し、編集、再セットする

 上で記載のとおり、Listの型がMap<String,Object>であること以外通常のListと変わりません。

 そのため、取り出しはgetメソッド、Mapをputで編集し、setで再セットすることで、取り出し⇒編集⇒再セットすることができます。

// 初期値にカラを代入した初期化
List<Map<String,Object>>ListMap = new ArrayList<Map<String,Object>>();
Map<String,Object>Map = new HashMap<String,Object>();
Map.put("key1","value1");
Map.put("key2","value2");
ListMap.add(new HashMap<String,Object>(Map));
ListMap.add(new HashMap<String,Object>(Map));

//データを取り出し、編集、再セット前
System.out.println(ListMap);
// 0件目のListのデータを取得
Map<String,Object>取得Map = ListMap.get(0);
System.out.println(取得Map);
// Mapの値を置き換え
取得Map.put("key1","置き換え後value1");
System.out.println(取得Map);
// MapのListに再セットする
ListMap.set(0, 取得Map);
//データを取り出し、編集、再セット後
System.out.println(ListMap);


// 実行結果
[{key1=value1, key2=value2}, {key1=value1, key2=value2}]
{key1=value1, key2=value2}
{key1=置き換え後value1, key2=value2}
[{key1=置き換え後value1, key2=value2}, {key1=value1, key2=value2}]

管理人
Javaの記事の一覧はJava にまとめてあります

コメントを残す

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

PAGE TOP