如何按Double Value对HashMap <string,pair <double,=“” integer =“” >>进行排序?

时间:2018-12-05 13:42:26

标签: java sorting dictionary java-stream

如何使用Stream通过Double参数中的值对HashMap<String, Pair<Double, Integer>> myMap进行排序?

1 个答案:

答案 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));