package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Sort {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Map<String, Double> map = new HashMap<String, Double>();
map.put("d", 2.0);
map.put("c", 1.0);
map.put("b", 1.0);
map.put("a", 3.0);
ArrayList<Entry<String,Double>> list = new ArrayList<Entry<String,Double>>();
list.addAll(map.entrySet());
Collections.sort(list, new Comparator<Object>(){
public int compare(Object e1, Object e2){
double d1 = Double.parseDouble(((Entry<String,Double>)e1).getValue().toString());
double d2 = Double.parseDouble(((Entry<String,Double>)e2).getValue().toString());
// if(d1 > d2) { // 升序
if(d1 < d2) { // 降序
return 1;
} else if(d1 == d2) {
return 0;
} else {
return -1;
}
}
});
for(Iterator<Map.Entry<String, Double>> ite = list.iterator(); ite.hasNext();) {
Map.Entry<String, Double> m = ite.next();
System.out.println("key-value: " + m.getKey() + "," + m.getValue());
}
}
}