遍历列表映射的映射

pra*_*sad 3 java collections

我有map这样的

Map<String, Map<String, List<String>>> m;
Run Code Online (Sandbox Code Playgroud)

我想遍历列表

我的逻辑是这样的:

  1. 首先我得到了第一张地图的钥匙
  2. 并获得secondmap的键
  3. 从那个键我迭代列表。


for (Map m:m.keyset()){

    for (Map m1:m.getKey(){

        List<String> l = m1.getKey(){

        for (String s:l){
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样对吗?

我很困惑测试它...请帮助我...:)

Ser*_*kin 5

Map<String, Map<String, List<String>>> m = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

使用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) {
            ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Java 8 方面:

m.forEach((s, entry) -> entry.forEach(
        (s1, innerEntry) -> innerEntry.forEach(
                elem -> { ... }
        )
));
Run Code Online (Sandbox Code Playgroud)