【发布时间】:2017-11-22 21:34:21
【问题描述】:
我有一个带有数据的链表( author, date , LinkedList<Changes(lines, path)> )
现在我想用 Map< Filepath, Map< Author, changes >> 的流创建一个流
public Map<String, Map<String, Integer>> authorFragmentation(List<Commit> commits) {
return commits.stream()
.map(Commit::getChangesList)
.flatMap(changes -> changes.stream())
.collect(Collectors.toMap(
Changes::getPath,
Collectors.toMap(
Commit::getAuthorName,
(changes) -> 1,
(oldValue, newValue) -> oldValue + 1)));
}
我尝试过,但这不起作用。 如何在带有 Stream 的地图中创建此地图并同时计算更改?
【问题讨论】:
-
在您的第二个
toMap中,您的项目是Changes,而不是Commit。
标签: java java-8 java-stream