比较器实现排序
代码:
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; }
浙公网安备 33010602011771号