[英]Iterating through Map of Maps of Lists
我有这样的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){
}
}
}
这个对吗?
我很困惑要测试...请帮助我... :)
您几乎已经拥有了,这就是您想要的
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){
}
}
}
Map<String, Map<String, List<String>>> m = new HashMap<>();
使用Entry迭代地图:
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 -> { ... }
)
));
只需遍历值
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){
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.