如何使用Stream通过Double参数中的值对HashMap<String, Pair<Double, Integer>> myMap
进行排序?
答案 0 :(得分:4)
将sorted
方法与下面的比较器一起使用,并收集到LinkedHashMap
:
Map<String, Pair<Double, Integer>> result = map.entrySet()
.stream()
.sorted(Comparator.comparingDouble(e -> e.getValue().getKey()))
.collect(toMap(Map.Entry::getKey,
Map.Entry::getValue,
(l, r) -> l,
LinkedHashMap::new));