假定有如下数据
{
"Java": 96531,
"CSS": 1,
"Tomcat": 1,
"微信小程序": 1236,
"Eclipse": 2,
"DevOps ": 15,
"Mariadb": 2,
"Node.js": 1,
"JQuery": 10,
"Android": 2,
"CSS3": 169,
"HTML5+CSS3": 1,
"IDEA": 1,
"运维": 2,
"JavaScript": 452,
"HTML5": 1,
"物联网": 1,
"Oracle": 96,
"Vuejs": 664,
"Hbase": 1,
"云计算": 51
}
执行代码
public static void main(String[] args) {
String str = "{\"Java\":96531,\"CSS\":1,\"Tomcat\":1,\"微信小程序\":1236,\"Eclipse\":2,\"DevOps \":15,\"Mariadb\":2,\"Node.js\":1,\"JQuery\":10,\"Android\":2,\"CSS3\":169,\"HTML5+CSS3\":1,\"IDEA\":1,\"运维\":2,\"JavaScript\":452,\"HTML5\":1,\"物联网\":1,\"Oracle\":96,\"Vuejs\":664,\"Hbase\":1,\"云计算\":51}";
Map<String, Object> mapData = (Map<String, Object>) JSONObject.parse(str);
List<Map<String, Object>> resultList = mapData.entrySet().stream().map(a -> {
Map<String, Object> info = new HashMap<>();
info.put("key", a.getKey());
info.put("value", a.getValue());
return info;
}).collect(Collectors.toList());
System.out.println("排序前:" + JSONObject.toJSONString(resultList));
resultList = resultList.stream().sorted((h1, h2) -> Integer.valueOf(h2.get("value").toString()).compareTo(Integer.valueOf(h1.get("value").toString()))).collect(Collectors.toList());
System.out.println("排序后:" + JSONObject.toJSONString(resultList));
}
排序前-输出结果
[
{
"value": 96531,
"key": "Java"
},
{
"value": 1,
"key": "CSS"
},
{
"value": 1,
"key": "Tomcat"
},
{
"value": 1236,
"key": "微信小程序"
},
{
"value": 2,
"key": "Eclipse"
},
{
"value": 15,
"key": "DevOps "
},
{
"value": 2,
"key": "Mariadb"
},
{
"value": 1,
"key": "Node.js"
},
{
"value": 10,
"key": "JQuery"
},
{
"value": 2,
"key": "Android"
},
{
"value": 169,
"key": "CSS3"
},
{
"value": 1,
"key": "HTML5+CSS3"
},
{
"value": 1,
"key": "IDEA"
},
{
"value": 2,
"key": "运维"
},
{
"value": 452,
"key": "JavaScript"
},
{
"value": 1,
"key": "HTML5"
},
{
"value": 1,
"key": "物联网"
},
{
"value": 96,
"key": "Oracle"
},
{
"value": 664,
"key": "Vuejs"
},
{
"value": 1,
"key": "Hbase"
},
{
"value": 51,
"key": "云计算"
}
]
排序后-输出结果
[
{
"value": 96531,
"key": "Java"
},
{
"value": 1236,
"key": "微信小程序"
},
{
"value": 664,
"key": "Vuejs"
},
{
"value": 452,
"key": "JavaScript"
},
{
"value": 169,
"key": "CSS3"
},
{
"value": 96,
"key": "Oracle"
},
{
"value": 51,
"key": "云计算"
},
{
"value": 15,
"key": "DevOps "
},
{
"value": 10,
"key": "JQuery"
},
{
"value": 2,
"key": "Eclipse"
},
{
"value": 2,
"key": "Mariadb"
},
{
"value": 2,
"key": "Android"
},
{
"value": 2,
"key": "运维"
},
{
"value": 1,
"key": "CSS"
},
{
"value": 1,
"key": "Tomcat"
},
{
"value": 1,
"key": "Node.js"
},
{
"value": 1,
"key": "HTML5+CSS3"
},
{
"value": 1,
"key": "IDEA"
},
{
"value": 1,
"key": "HTML5"
},
{
"value": 1,
"key": "物联网"
},
{
"value": 1,
"key": "Hbase"
}
]