1. 程式人生 > 其它 >Java如何對HashMap按值進行排序--非String int 型別時

Java如何對HashMap按值進行排序--非String int 型別時

比如:Float 可以通過相減取整返回,如下方:

Map<String, Float> PathMap = new HashMap<String, Float>();
//排序 map
//將map.entrySet()轉換成list
List<Map.Entry<String, Float>> list = new ArrayList<Map.Entry<String, Float>>(PathMap.entrySet());
System.out.println("------- 轉換前");
for (Map.Entry<String, Float> mapping : list) {
    System.out.println(mapping.getKey() 
+ "\t" + mapping.getValue()); } System.out.println("------- 轉換後"); Collections.sort(list, new Comparator<Map.Entry<String, Float>>() { //降序排序 public int compare(Map.Entry<String, Float> o1, Map.Entry<String, Float> o2) { //return o1.getValue().compareTo(o2.getValue());
return Math.round((o2.getValue()-o1.getValue())*100000); } }); for (Map.Entry<String, Float> mapping : list) { System.out.println(mapping.getKey() + "\t" + mapping.getValue()); }

Java如何對HashMap按值進行排序_上善若水,水善利萬物而不爭。-CSDN部落格
https://blog.csdn.net/xifeijian/article/details/46522531

完美解決Collections.sort對double不能排序問題_Deep Learning and NLP Farm-CSDN部落格
https://blog.csdn.net/appleml/article/details/41315429

java.util.Arrays.sort(float[])方法例項 - Java.util包 | 速學堂教程 - 學的不僅是技術,更是夢想!--尚學堂旗下高階品牌
https://www.sxt.cn/util/arrays_sort_float.html