Ich habe eine LinkedList mit Daten (author, date , LinkedList<Changes(lines, path)>)
Fill Map <String, Map <String, Integer >> mit Stream-
jetzt i mit einem Strom erzeugen wollen diese aus einem 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)));
}
Ich versuche, Es ist so, aber das funktioniert nicht. Wie kann ich diese Map in einer Map mit dem Stream erstellen und gleichzeitig die Änderungen zählen?
In Ihrer zweiten 'toMap' sind Ihre Elemente' Changes' und nicht 'Commit' mehr. –
Mögliches Duplikat von [Java8: HashMap zu HashMap mit Stream/Map-Reduce/Collector] (https://stackoverflow.com/questions/25903137/java8-hashmapx-y-to-hashmapx-z-using-stream- map-reducte-collector) –