Map<Key,Value> 排序默认是按照KEY值的升序来进行。

针对按照Value来进行排序有两种方法:

第一种 使用TreeMap  代码如下

public class test{
public static void main(String[] args) {
        
        HashMap<String, Double> map = new HashMap<String, Double>();
        valueComparator vComparator = new valueComparator(map);
        TreeMap<String, Double> sort_map = new TreeMap<String, Double>(vComparator);
        map.put("C", 96.8);
        map.put("D", 38.8);
        map.put("A", 188.9);
        map.put("B", 156.6);
        System.out.println("treeMap" + sort_map);
        
    }
}

public class valueComparator <T>    implements Comparator<T> {

       Map<T , Double> map;
    public valueComparator(Map<T, Double> map) {
        this.map = map;
        
    }
    @Override
    public int compare(T o1, T o2) {
        // TODO Auto-generated method stub
        
        if(map.get(o1) - map.get(o2) >= 0)
        {
            
            return 1;
        }
        else {
            return -1;
        }
    }
}
TreeMap实现排序

相关文章: