如何迭代这个结构 Map<String, Map<String, Set<String>>> 并将其值传递给方法?

我想遍历此结构 Map<String,Map<String,Set<String>>> 并将其值传递给使用 Java Stream API 的方法。

假设我有一个函数

doSomething(String a,String b,Set c)

我需要为上面结构的值调用它。

Map<String,Set<String>>> myMap = new HashMap<>();
    Set<String> mySet1 = Set.of("A","B");
    Set<String> mySet2 = Set.of("C","D");
    Map<String,Set<String>> helperSet = new HashMap<>();
    helperSet.put("1557491",mySet1);  
    helperSet.put("1557492",mySet2);  
    myMap.put("1165624",helperSet);

    List<myobject> details = myMap.entryset().stream()
            .map(e -> doSomething(
                    e.getvalue().entryset().stream()
                            .map(d -> d.getKey()).iterator().next(),e.getKey(),e.getvalue().entryset().stream()
                            .map(f -> f.getvalue().iterator().next())
            ).collect(Collectors.toList());

这是我到目前为止所写的,不幸的是它不起作用,它只能设法传递第一组(mySet1)的值。

我对 Java 8 还很陌生。任何帮助将不胜感激!

xiaozhongqi1996 回答:如何迭代这个结构 Map<String, Map<String, Set<String>>> 并将其值传递给方法?

您可以使用流中的流来实现:

max_depth
本文链接:https://www.f2er.com/41824.html

大家都在问