java - 使用 Double 以相反的顺序对 HashMap 进行排序

标签 java sorting hashmap

我知道有很多帖子描述了如何反向排序哈希图。
我已经尝试过它们并且我一直在努力让它发挥作用。我对java比较陌生。
下面,我可以按从最低 double 到最高 double 的顺序打印哈希图,但是如何对其进行排序以便最高的 double 先出现?
我关注了这个帖子 sort HashMap in reverse?不成功。

我想以相反的顺序对称为“行”的 hashMap 进行排序:

public void sortResults(HashMap<Double, TextObject> lines) {
    Map<Double,TextObject> sortedMap = new TreeMap<Double,TextObject>(lines);



    System.out.println("**************************************");
        for (Map.Entry<Double, TextObject> entry : sortedMap.entrySet()) {
            System.out.println("Key : " + entry.getKey() 
                                      + " Value : " + entry.getValue());
        }
        System.out.println();
    }

感谢您抽出时间

最佳答案

您可以创建 TreeMap使用反向比较器,然后使用 putAll添加 lines

Map<Double,TextObject> sortedMap = new TreeMap<Double,TextObject>(Comparator.reverseOrder());

sortedMap.putAll(lines);

关于java - 使用 Double 以相反的顺序对 HashMap 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59021362/

相关文章:

java - 如何摆脱这个泛型警告?

java - 是否可以在 Java 中将 Map 的键定义为 List?

c++ - C++ Google dense_hash_set 插入的性能

java - "same ordering"对象相等的重要性是什么?

sorting - 在vue.js中对两个方向进行排序

javascript - 优雅地打乱 Javascript 数组

java - 如何使用 Java 从 XML 中读取值并将其保存在 Hashmap 中

java - 在 Android 上使用 Camera API2 进行基于触摸的对焦

java - JBoss 作为 7 : Map Servlet to Context Root ("/") via Code Config

Java - 轮询超时的最佳方式