У меня есть TreeSet set
, у которого есть некоторые значения.
Я хочу отобразить каждый элемент в set
с определенным значением как карту с использованием потоков.
например, если set
содержит {1,2,3}
и value=5 ;
поэтому я хочу, чтобы карта была такой
1->5
2->5
3->5
Проблема в том, что я не знаю, что написать в части карты функции
TreeMap<Integer,Integer> map = set.stream().map(x-> ????).collect(Collectors.toCollection(TreeMap:: new )) ;
1
Softwareaddict
18 Авг 2019 в 16:05
2 ответа
Лучший ответ
Не используйте map
, используйте Collectors.toMap()
:
TreeMap<Integer,Integer> map =
set.stream()
.collect(Collectors.toMap(Function.identity(),i -> 5,(a,b)->a,TreeMap::new));
3
Eran
18 Авг 2019 в 13:07
Вы также можете сделать это:
TreeMap<Integer,Integer> map = new TreeMap<>();
set.forEach(v-> map.put(v, 5));
2
davidxxx
18 Авг 2019 в 13:13
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.