Как добавить ко всем дубликатам в Map суффикс
Предположим, что на вход метода приходят айдишники, одни из которых имеют суффикс, а другие нет
Set ids = [id, id::Suff]
Далее мне нужно создать Map<String, Object>, где ключом будет id.
Но перед этим нужно удалить все id с суффиксом.
Map<String, Object> idToObj =
ids.stream()
.map(IdExtractor::removeSuffix)
.map(id -> Pair.of(id, getObj()))
.collect(Collectors.toMap(
_________ ,
Pair::getRight
));
Не могу разобраться, как правильно собрать ключи и вернуть суффикс для нужных id
Заранее спасибо
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Если идентификаторы с суффиксом не нужны, проще отфильтровать их при помощи Stream::filter.
Также нет необходимости создавать экземпляр Pair перед использованием коллектора toMap:
Map<String, Object> idToObj =
ids.stream()
.filter(id -> !id.matches("\\w+::\\w+")) // или любой другой способ
.collect(Collectors.toMap(
id -> id,
id -> getObj()
));