Wie schreibe ich Code für das folgende Problem mit Java 8 Stream [Duplikat]
Oct 13 2020
Map<String,Integer> hm = new HashMap<>();
hm enthält Name und Alter der Mitarbeiter. So finden Sie die Namen aller Mitarbeiter, deren Alter> 25 Jahre ist, mithilfe des Java 8-Streams-Konzepts
Ich habe es so versucht
hm.stream().filter(x->Map.Entry.getValue(x)>25).collect(collectors.toList());
Könnte mich jemand korrigieren?
Antworten
1 Eklavya-UpvoteDon'tSayThanks Oct 13 2020 at 00:30
Sie können nicht direkt über die Karte streamen. Sie können .entrySet()die Karte abrufen, nach Alter filtern und Namen in einer Liste sammeln.
List<String> list = hm.entrySet().stream()
.filter(x -> x.getValue() > 25)
.map(e -> e.getKey())
.collect(Collectors.toList());