//用map的每一个元素构造成一个list,对list进行排序
HashMap<String, Double> originalMap = new HashMap<String, Double>();
originalMap.put("5", 3.569);
originalMap.put("3", 6.539);
originalMap.put("7", 8.459);
originalMap.put("9", 3.339);
ArrayList<Map.Entry<String, Double>> datalList = new ArrayList<Map.Entry<String, Double>>(originalMap.entrySet());
final int multiple = 1000;//假设小数点后面有3位
Collections.sort(datalList, new Comparator<Map.Entry<String, Double>>() {
@Override
public int compare(Map.Entry<String, Double> o1, Map.Entry<String, Double> o2) {
// TODO Auto-generated method stub
return (int) ((o2.getValue() - o1.getValue()) * multiple);
}
});
System.out.println("datalList="+datalList);
打印结果:datalList=[7=8.459, 3=6.539, 5=3.569, 9=3.339]
針對java.util.Map的Value做排序:
http://www.360doc.com/content/08/0818/21/59141_1554099.shtml
其它总结