我是Java新手。如何遍历java中的地图内部地图
我有这样的地图。
HashMap<String,HashMap<String,String>>mp;
如何遍历这个?
mp里面有另一个mp。
我知道使用entrySet遍历map的正常方法;
我是Java新手。如何遍历java中的地图内部地图
我有这样的地图。
HashMap<String,HashMap<String,String>>mp;
如何遍历这个?
mp里面有另一个mp。
我知道使用entrySet遍历map的正常方法;
您使用entrySet遍历外部地图,然后使用entrySet遍历内部地图的每个外部地图值。
for (Map.Entry<String,HashMap<String,String>> entry : mp.entrySet()) {
for (Map.Entry<String,String> innerEntry : entry.getValue().entrySet()) {
...
}
}
你可以试试这个代码:
Set hmset = hm.entrySet();
for (HashMap<String,String> innerMap : hm.values()) {
for (String st1 : innerMap.values()) {
System.out.println(st1);
}
}
你可以试试这个代码:
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);
}
}
}
}
'entry.getValue()' - >'entry.getValue()的entrySet( )'。 – saka1029
@ saka1029谢谢! – Eran