我有map
喜欢这个
Map<String, Map<String, List<String>>> m;
我希望遍历列表
我的逻辑是这样的:
for (Map m:m.keyset()){
for (Map m1:m.getKey(){
List<String> l = m1.getKey(){
for (String s:l){
}
}
}
这是对的吗?
我很难测试它...请帮帮我...... :)
答案 0 :(得分:2)
你几乎拥有它,这里是你正在寻找的东西
Map<String,Map<String,List<String>>> m = new HashMap<String, Map<String,List<String>>>();
for(String k : m.keySet()) {
Map<String,List<String>> m1 = m.get(k);
for(String k1 : m1.keySet()) {
List<String> l = m1.get(k1);
for (String s : l){
}
}
}
答案 1 :(得分:1)
简单地遍历值
Map<String,Map<String,List<String>>> m = new HashMap<String, Map<String,List<String>>>();
for(Map<String,List<String>> m2 : m.values()) {
for(List<String> l : m2.values()) {
for (String s : l){
}
}
}
答案 2 :(得分:1)
Map<String, Map<String, List<String>>> m = new HashMap<>();
使用条目:
迭代地图for (Map.Entry<String, Map<String,List<String>> entry : m.entrySet()) {
for (Map.Entry<String, List<String>> innerEntry : entry.entrySet()) {
for (String elem : innerEntry) {
...
}
}
}
就Java 8而言:
m.forEach((s, entry) -> entry.forEach(
(s1, innerEntry) -> innerEntry.forEach(
elem -> { ... }
)
));