У меня есть 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