Ich habe die folgende Liste der Karten,Wie die Mindestpunktzahl der einzelnen Benutzer aus einer Liste von Karten finden mit Hilfe von Java 8 Stream
List<Map<String, Integer>> scores = new ArrayList<>();
scores.add(Collections.singletonMap("user1", 3));
scores.add(Collections.singletonMap("user3", 15));
scores.add(Collections.singletonMap("user1", 1));
scores.add(Collections.singletonMap("user2", 5));
scores.add(Collections.singletonMap("user2", 23));
scores.add(Collections.singletonMap("user1", 10));
Angenommen, ich mag die minumum Score von jedem Benutzer in eine extrahieren Karte mit Java 8 Stream mit Lambda-Ausdrücken. Das gewünschte Ergebnis würde
{user1=1, user2=5, user3=15}
Ich versuchte dies und es funktioniert nicht,
Map<String, Integer> result = scores.stream()
.flatMap(m -> m.entrySet().stream())
.collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.minBy(Comparator.comparingInt(Map.Entry::getValue))));
Könnte jemand bitte sagen Sie mir, wie es zu tun?
Vielen Dank im Voraus.
Danke für die Erklärung. – user5245796