Konvertieren der String-Sammlung in eine Map mit Eingabe als Key Mapper [Duplikat]
Aug 25 2020
Hier ist ein Beispiel:
Map<String, Student> getStudentsById(Collection<String> ids) {
return ids.stream()
.collect(Collectors.toMap(<id-here>, id -> new Student(id))
}
Ich bin mir nicht sicher, wie ich es verwenden Collectors.toMapsoll. Das keyist also das Stream-Element (hier für den Fall die ID) und valueein Objekt, das aus dem erstellt wurde key.
Antworten
1 Eran Aug 25 2020 at 06:36
Sie übergeben a Stringund a Studentan Collectors.toMap(), wenn Sie a Function<? super String,? extends String>und a übergeben sollten Function<? super String,? extends Student>.
Es sollte sein:
Map<String, Student> idToStudent = ids.stream()
.collect(Collectors.toMap(Function.identity(), id -> new Student(id)));