hashMap按照value进行排序

来源:互联网 发布:java 查看堆栈信息 编辑:程序博客网 时间:2024/05/20 17:08


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

0 0
原创粉丝点击