使用 Double 以相反的顺序对哈希图进行排序



我知道有很多帖子描述了如何反向对哈希图进行排序。我已经尝试过它们,我一直在努力让它工作。我对Java比较陌生。

下面,我可以按从最低双精度到最高双精度的顺序打印哈希图,但是我如何对其进行排序,以便最高的双精度排在第一位? 我关注这篇文章没有成功。

我想以相反的顺序对以下内容进行排序,称为"行"的哈希图:

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

最新更新