您的位置:首页 > 产品设计 > UI/UE

HashMap根据value排序

2016-05-15 21:10 459 查看

思路

先转化成list,然后用Collections.sort(),参数中要重写public int compare(Object o1, Object o2);

代码

package cn.mitsuhide.Algorithm.basic.sort;

import java.util.*;

/**
* Created by zly on 2016/5/15.
* 学习如何排序HashMapSort
*/
public class HashMapSort {
private HashMap<String, Integer> data = new HashMap<String, Integer>();
public static void main (String [] args) {
HashMapSort hm = new HashMapSort();

hm.data.put("polo", 3);
hm.data.put("mitsuhide", 5);
hm.data.put("marco", 4);
hm.data.put("lala", 10);
hm.data.put("zly", 1);

List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(hm.data.entrySet());

Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
//return (o2.getValue() - o1.getValue());
return (o1.getValue()) - (o2.getValue());
}
});

for (Map.Entry<String,Integer> item : list) {
System.out.println(item.getKey() + ":" + item.getValue());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: