比较器实现排序

代码:

public static List<Map.Entry<String, String>> sortMapDesc(HashMap<String,String> map){
         //Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对) 
         List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>(map.entrySet());
         // 通过比较器来实现排序
         Collections.sort(list, new Comparator<Map.Entry<String, String>>(){
            //比较排序
            public int compare(Entry<String, String> o1, Entry<String, String> o2) {  
                Double result =Double.parseDouble(o1.getValue())-Double.parseDouble(o2.getValue());
                if(result > 0)
                    return -1;   //o1-o2>0 返回1,代表较大的值往后放;返回-1:较大的值往前放
                else if(result < 0)
                    return 1;
                else 
                    return 0;
            }             
         });
        return list;        
     }

 

posted @ 2022-08-24 10:41  远方的风景  阅读(26)  评论(0)    收藏  举报