Ho un Map<String,List<String>>
e voglio che si trasformi in Map<String,List<Long>>
perché ognuno String
nell'elenco rappresenta un Long
:
Map<String,List<String>> input = ...;
Map<String,List<Long>> output=
input.entrySet()
.stream()
.collect(toMap(Entry::getKey, e -> e.getValue().stream()
.map(Long::valueOf)
.collect(toList()))
);
Il mio problema principale è che ognuno String
potrebbe non rappresentare correttamente a Long
; potrebbe esserci qualche problema. Long::valueOf
può sollevare eccezioni. In questo caso, desidero restituire un valore nullo o vuotoMap<String,List<Long>>
Perché voglio iterare dopo su questa output
mappa. Ma non posso accettare alcuna conversione di errore; nemmeno uno solo. Qualche idea su come posso restituire un output vuoto in caso di stringa errata -> Conversione lunga?
LongStream
se hai intenzione di rimuovere i empty
risultati)