Conversione di una raccolta di stringhe in una mappa con input come mappatore di chiavi [duplicato]
Aug 25 2020
Ecco un esempio:
Map<String, Student> getStudentsById(Collection<String> ids) {
return ids.stream()
.collect(Collectors.toMap(<id-here>, id -> new Student(id))
}
Non sono sicuro di come usarlo Collectors.toMap, quindi questo keyè l'elemento stream (qui nel caso l'ID), ed valueè un oggetto costruito da key.
Risposte
1 Eran Aug 25 2020 at 06:36
Stai passando a Stringe Studenta Collectors.toMap(), quando dovresti passare a Function<? super String,? extends String>e a Function<? super String,? extends Student>.
Dovrebbe essere:
Map<String, Student> idToStudent = ids.stream()
.collect(Collectors.toMap(Function.identity(), id -> new Student(id)));