Ho un List<Valuta>
che può essere rappresentato (semplificato) JSON-style:flusso groupingBy: riducendo al primo elemento della lista
[{codice = euro, description = Euro, ratio = 1}, {codice = USD, description = dollari, ratio = 1.1}]
voglio trasformarla in un Map<String, Valuta>
come questo:
{EUR = {codice = euro, description = Eur o, ratio = 1}, USD = {codice = USD, description = Dollari, ratio = 1.1}}
ho scritto questo one-liner:
getValute().stream().collect(Collectors.groupingBy(Valuta::getCodice));
ma questo restituisce un Map<String, List<Valuta>>
invece di quello di cui ho bisogno.
Suppongo che la funzione mapping()
funzioni per me, ma non so come.
Come fare lo stesso con 'groupingBy'? Non posso usare 'toMap' perché devo aspettarmi chiavi duplicate dal key mapper. Vedo 'groupingBy' ha la firma per il collector downstream come secondo argomento, ma non può farlo funzionare ancora. – user909481