码迷,mamicode.com
首页 > 其他好文 > 详细

Map中按value值排序

时间:2014-05-15 02:37:34      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:hashmap

大家都知道,在java中的集合Map中按键值key排序比较简单,只需引用集合TreeMap即可,可是怎样实现按value值排序呢?下面我们来测试一下:

public class TestHashMap {
	public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("zhangsan", 1);
		map.put("lisi", 2);
		map.put("wangwu", 0);
		
		List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
		Collections.sort(list, new Comparator<Map.Entry<String,Integer>>() {

			public int compare(Map.Entry<String,Integer> o1, Map.Entry<String,Integer> o2) {
				Integer one = o1.getValue();
				Integer two = o2.getValue();
				return two.compareTo(one);
			}
			
		});
		
		for(Map.Entry<String,Integer> entry : list)
			System.out.println(entry.getKey()+":"+entry.getValue());
	}
}

输出结果为:

lisi:2
zhangsan:1
wangwu:0


结果即是以value值从大到小进行排序的!

Map中按value值排序,布布扣,bubuko.com

Map中按value值排序

标签:hashmap

原文地址:http://blog.csdn.net/cow__sky/article/details/25795313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!