【发布时间】:2018-12-09 20:02:45
【问题描述】:
我有一个Map<Integer, Set<Integer>>,我想按递增顺序获取键列表作为 ArrayList。
例如我的地图:
Key|Value
2--->set1
1--->set2
5--->set3
我想得到数组列表:[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);
}
}
这个例子做我想做的,但我正在寻找一种在收集元素时进行排序的解决方案?
【问题讨论】:
标签: java arraylist java-stream