码迷,mamicode.com
首页 > 移动开发 > 详细

Android Map根据键或者值进行排序

时间:2015-08-15 16:38:34      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:andorid map 排序 键值

在解析JSON数据的时候,就常会解析到JsonObject,而jsonObject是无序的,但是有想让他变的有序,就会在每个JsonObject中加一个属性,sort,然后根据sort值的大小进行排序

这里简化为map根据或值进行排序

1.先往一个map集合里加入键值对

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("文具", 1);
map.put("饮料", 5);
map.put("泡面", 3);
map.put("饼干", 2);

2.通过方法map.Entry<String, Integer>把这个map加入到一个list集合中

ArrayList<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(
				map.entrySet());

3.进行排序

// 排序
		Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
			public int compare(Map.Entry<String, Integer> o1,
					Map.Entry<String, Integer> o2) {
				System.out.println(o2.getValue()+"---"+o1.getValue());
                                 //两个数据中的值进行相比较,从大到小进行排序
                                  return (o2.getValue() - o1.getValue());
				
			}
		});
4.排序后的结果

// 排序后
		for (int i = 0; i < infoIds.size(); i++) {
			String id = infoIds.get(i).toString();
			System.out.println(id);
		}

打印出来的结果为

饮料=5
泡面=3
饼干=2
文具=1

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android Map根据键或者值进行排序

标签:andorid map 排序 键值

原文地址:http://blog.csdn.net/xiaoxiaomao123098/article/details/47682279

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