Mam Map<String,List<String>>
i chcę, aby się zmieniło, Map<String,List<Long>>
ponieważ każdy String
na liście reprezentuje 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()))
);
Moim głównym problemem jest to, że każdy z nich String
może nie przedstawiać poprawnie Long
: może być jakiś problem.Long::valueOf
może zgłaszać wyjątki. W takim przypadku chcę zwrócić wartość zerową lub pustąMap<String,List<Long>>
Ponieważ chcę iterować po tej output
mapie. Ale nie mogę zaakceptować żadnej konwersji błędu; ani jednego. Masz pomysł, jak mogę zwrócić puste wyjście w przypadku niepoprawnego ciągu -> Długa konwersja?
LongStream
jeśli planujesz usunąć empty
wyniki)