当前位置: 代码迷 >> Android >> Android Map依据键或者值进行排序
  详细解决方案

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

热度:75   发布时间:2016-04-27 23:28:08.0
Android 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

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

  相关解决方案