Eu tenho um Map<String,List<String>>
e quero que ele se transforme Map<String,List<Long>>
porque cada um String
na lista representa um 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()))
);
Meu principal problema é que cada um String
pode não representar corretamente a Long
; pode haver algum problema. Long::valueOf
pode gerar exceções. Se for esse o caso, desejo retornar um valor nulo ou vazioMap<String,List<Long>>
Porque eu quero iterar depois neste output
mapa. Mas não posso aceitar nenhuma conversão de erro; nem mesmo um. Alguma idéia de como eu posso retornar uma saída vazia em caso de String incorreta -> Conversão longa?
LongStream
se planeja remover empty
resultados)