java stream数据分组 stream().collect(groupingBy
Posted JackGIS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java stream数据分组 stream().collect(groupingBy相关的知识,希望对你有一定的参考价值。
List<Map<String, Object>> foreList = forecastDataDao.getcityforeresults(param); Map<String,List<Map<String, Object>>> timegroupby=foreList.stream().collect(groupingBy(p->p.get("citycode").toString())); Map<String,Map<String,List<Map<String, Object>>>> ret=new HashMap<>(); if(timegroupby!=null){ for(String time:timegroupby.keySet()){ Map<String,List<Map<String, Object>>> citygroup=null; citygroup=timegroupby.get(time).stream().collect(groupingBy(p->DateUtil.dateToStr((Date)p.get("datatime"),"yyyyMMdd"))); if(citygroup!=null){ ret.put(time,citygroup); } } } return JSONObject.toJSONString(ret);
以上是关于java stream数据分组 stream().collect(groupingBy的主要内容,如果未能解决你的问题,请参考以下文章
Java8 stream 中利用 groupingBy 进行多字段分组