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