У меня есть Map<String,List<String>>и хочу, чтобы он превратился, Map<String,List<Long>>потому что каждый Stringв списке представляет 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()))
);
Моя главная проблема заключается в том, что каждый из них Stringне может правильно представлять a Long; может быть какая-то проблема. Long::valueOfможет поднять исключения. Если это так, я хочу вернуть нулевой или пустойMap<String,List<Long>>
Потому что я хочу повторить эту outputкарту. Но я не могу принять любую ошибку преобразования; ни одного. Любая идея о том, как я могу вернуть пустой вывод в случае неправильного преобразования String -> Long?
LongStreamесли планируете удалять emptyрезультаты)