如何在java中遍历map中的map

时间:2015-05-25 11:17:44

标签: java

我是Java的新手。

我有这样的地图。

HashMap<String,HashMap<String,String>>mp;

如何遍历这个?

mp里面有另一个。

我知道使用entrySet遍历地图的正常方式;

3 个答案:

答案 0 :(得分:4)

使用entrySet遍历外部地图,然后使用entrySet遍历内部地图的每个值。

for (Map.Entry<String,HashMap<String,String>> entry : mp.entrySet()) {
    for (Map.Entry<String,String> innerEntry : entry.getValue().entrySet()) {
        ...
    }
}

答案 1 :(得分:2)

您可以尝试以下代码:

package com.test;

import java.util.HashMap;
import java.util.Set;

public class TestMain {

  public static void main(String[] args) {
      HashMap<String,HashMap<String,String>>mp= new HashMap<String,HashMap<String,String>>();
      HashMap<String, String> innerMap1= new HashMap<String, String>();
      innerMap1.put("1", "firstValueOf_InnerMap1");
      innerMap1.put("2", "SecondValueOf_InnerMap1");

      HashMap<String, String> innerMap2= new HashMap<String, String>();
      innerMap2.put("1", "firstValueOf_InnerMap2");
      innerMap2.put("2", "SecondValueOf_InnerMap2");

      mp.put("one", innerMap1);
      mp.put("two", innerMap2);

          for (HashMap<String,String> innerHashMap : mp.values()) {
              for (String value : innerHashMap.values()) {
                 System.out.println(value);
              }
          }

}

}

答案 2 :(得分:0)

您可以尝试以下代码:

com.myname.mygame