我有一个Stream<Map<String, Map<String, String>>>
要组合的嵌套映射流(使用外部键;假设内部键是唯一的),方法是转换为条目集流并调用Collectors.toMap(...)
. 为了确保正确组合具有重复外键的映射,我传递以下BinaryOperator
函数toMap(...)
:
(existingMap, newMap) -> {
existingMap.putAll(newMap);
return existingMap;
}
该代码似乎暂时有效,但我觉得我没有Collectors.toMap(...)
按预期使用,因为我正在改变累加器和组合器中的值。
这是完整的代码片段:
mapsToCombine.flatMap(map -> map.entrySet().stream()).collect(Collectors.toMap(Entry::getKey, Entry::getValue, (existingMap, newMap) -> {
existingMap.putAll(newMap);
return existingMap;
}));