Supponendo che ho il seguente elenco di mappe,Come trovare il punteggio minimo di ciascun utente da un elenco di mappe utilizzando Java 8 flusso
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));
vorrei estrarre il punteggio minumum di ogni utente in un mappa utilizzando Java 8 stream con espressioni lambda. Il risultato desiderato sarebbe
{user1=1, user2=5, user3=15}
Ho provato questo e non funziona,
Map<String, Integer> result = scores.stream()
.flatMap(m -> m.entrySet().stream())
.collect(Collectors.groupingBy(Map.Entry::getKey, Collectors.minBy(Comparator.comparingInt(Map.Entry::getValue))));
Qualcuno potrebbe dirmi come fare?
Grazie in anticipo.
Grazie per la spiegazione. – user5245796