Java Mapの中にMapを定義するサンプル

環境
JavaSE11
Eclipse 4.26.0

構文
Map<String, Map<String, String>> 変数名1 = new HashMap<>();
マップの中にマップを定義します。
Map<String, String> 変数名2 = new HashMap<>();
変数名2.put(キー,値)
変数名1.put(キー,変数名2)

マップの中にマップの値を取得します。
map変数1.get(map変数1のキー).get(map変数2のキー)

使用例

package com.arkgame.study;

import java.util.HashMap;
import java.util.Map;

public class ArktestDemo {

      public static void main(String[] args) {
            Map<String, Map<String, String>> mapA = new HashMap<>();//マップの中にマップ

            Map<String, String> mapB = new HashMap<>();
            mapB.put("tokyo", "東京");
            mapB.put("oosaka", "大阪");
            mapB.put("fukuoka", "福岡");

            mapA.put("city", mapB); // マップにマップを追加

            System.out.println(mapA.get("city"));//{tokyo=東京, fukuoka=福岡, oosaka=大阪}
            System.out.println(mapA.get("city").get("tokyo"));//東京 (getを2つ指定して取得)
            System.out.println(mapA.get("city").get("oosaka"));//大阪
            System.out.println(mapA.get("city").get("fukuoka"));//福岡

      }

}

実行結果
{tokyo=東京, fukuoka=福岡, oosaka=大阪}
東京
大阪
福岡

Java

Posted by arkgame