我有一个Stream< Map< K, V > >,我试图将这些地图合并在一起,但保留列表中的重复值,所以最终的类型将是Map< K, List<V> >.有没有办法做到这一点?我知道toMap收集器有一个二进制函数来基本上选择返回哪个值,但是它能跟踪转换后的列表吗?
即
如果a是Stream< Map< String, Int > >
a.flatMap(map -> map.entrySet().stream()).collect(
Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (val1, val2) -> ??
);
Run Code Online (Sandbox Code Playgroud)