我有一個LinkedList使用數據(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)));
}
我嘗試它如此,但這並不奏效。 如何在流中創建此地圖並同時計數更改?
,你的項目是'Changes',而不是'Commit'了。 –
[Java8:HashMap到HashMap 使用Stream/Map-Reduce/Collector]的可能重複(https://stackoverflow.com/questions/25903137/java8-hashmapx-y-to-hashmapx-z-using-stream- map-reduce-collector) –