将List进行分组后结果返回Map结果集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将List进行分组后结果返回Map结果集相关的知识,希望对你有一定的参考价值。
参考技术A //将String转换成jsonObject或MapJSONObject originalJsonData = JSONObject.parseObject(jsonStr);
JSONArray dataArray = originalJsonData.getJSONArray();
List<JSONObject> jsonObjectList = new ArrayList<>();
//将原始数据中的json数组中的json对象存到一个list集合中
for (Object o : dataArray)
jsonObjectList.add((JSONObject) o);
//对集合中的json对象进行分组
//然后返回一个map集合,key代表组名,value代表该组中的数据
Map<String, List<JSONObject>> groupByLineNumData = jsonObjectList.stream() .collect(Collectors.groupingBy(x -> x.getString("line_num")));
//遍历所有的分组,对每组内的JSON对象进行排序
for (String s : groupByLineNumData.keySet())
List<JSONObject> list = groupByLineNumData.get(s);
JSONArray jsonSorted = jsonArraySort(list.toString());
//后续有对排序后的json对象的业务操作
//这里只将它输出
System.out.println(jsonSorted);
以上是关于将List进行分组后结果返回Map结果集的主要内容,如果未能解决你的问题,请参考以下文章