我想遍历此结构 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 还很陌生。任何帮助将不胜感激!