在解析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
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-09 22:42:45