У меня есть Map<Integer, Set<Integer>>
, и я хочу получить список ключей в виде ArrayList в возрастающем порядке.
Так, например, моя карта:
Key|Value
2--->set1
1--->set2
5--->set3
Я хочуget the arraylist: [1,2,5]
public class Example {
public static void main( String[] args ) {
Map<Integer,Set<Integer>> map = new HashMap<>();
Set<Integer> set1 = Stream.of(1,2,3).collect(Collectors.toSet());
Set<Integer> set2 = Stream.of(1,2,3).collect(Collectors.toSet());
Set<Integer> set3 = Stream.of(1,2,3).collect(Collectors.toSet());
map.put(2,set1);
map.put(1,set2);
map.put(5,set3);
//what i have done:
List<Integer> list = map.keySet()
.stream()
.collect(Collectors.toCollection(ArrayList::new));
list.sort((a,b)->a>b?b:a);
System.out.println(list);
}
}
Этот пример делает то, что я хочу, но я ищу решение, которое сделает сортировку во время сбора элементов?