对map进行排序
//根据num大小排序,将num值转为String
List<HashMap<String, String>> orderList = dataList.stream()
//先根据num-Integer类型排序
.sorted((a, b) -> b.get("num").compareTo(a.get("num")))
//排序之后num值类型-Integer转换为String(不转化返回的map值类型是Integer)
.map(e -> {
HashMap<String, String> convertMap = new HashMap<>();
convertMap.put("type", String.valueOf(e.get("type")));
convertMap.put("num", String.valueOf(e.get("num")));
return convertMap;
})
.collect(Collectors.toList());
去重操作
private int phoneDistinct(List<JSONObject> objectList) {
if (!objectList.isEmpty()) {
//并行流
List<String> phoneList =
objectList.parallelStream().map(a -> {
return a.get("message").toString();
}).distinct().collect(Collectors.toList());
return phoneList.size();
}
return 0;
}
过滤
List<HashMap> maps = JsonUtil.parseObject(jsonData, List.class);
Map<String, Object> otherType =
maps.stream().filter(m -> "20".equals(m.get("markType").toString())).collect(Collectors.toMap((e) -> (String) e.get("markType"), (e) -> e.get("markNum")));