将List进行分组后结果返回Map结果集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将List进行分组后结果返回Map结果集相关的知识,希望对你有一定的参考价值。

参考技术A //将String转换成jsonObject或Map
JSONObject 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结果集的主要内容,如果未能解决你的问题,请参考以下文章