J'ai un Map<String,List<String>>
et je veux qu'il se transforme en Map<String,List<Long>>
parce que chacun String
dans la liste représente 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()))
);
Mon principal problème est que chacun String
peut ne pas représenter correctement un Long
; il peut y avoir un problème. Long::valueOf
peut soulever des exceptions. Si tel est le cas, je veux retourner une valeur nulle ou videMap<String,List<Long>>
Parce que je veux répéter après cette output
carte. Mais je ne peux accepter aucune conversion d'erreur; pas même un seul. Une idée de la façon dont je peux retourner une sortie vide en cas de chaîne incorrecte -> Conversion longue?
LongStream
si vous prévoyez de supprimer les empty
résultats)