Collectors.groupingBy()在collect中调用,返回值是Map,参数是返回map的key,value是流中的某一个元素
1.单子段分组
Map<String, List<BwXyBjtxyJfmx>> mapjfmx = jfmxlist.stream()
.collect(Collectors.groupingBy(BwXyBjtxyJfmx::getXyid));
对应的json数据这样,每一个学员id的key,对应一个缴费明细的对象
{xyid0:BwXyBjtxyJfmx0,xyid1:BwXyBjtxyJfmx1}
Map<Integer,Map<String,List<DocLotDetail>>> amp = docLotDetailLists.parallelStream()
.collect(Collectors.groupingBy(
DocLotDetail::getGroupOrder,Collectors.groupingBy(
DocLotDetail::getBaseValueName)));
对应的数据应该是这样的,数据格式大概是这样的,获取时,先按groupOrder获得一个map,在从map里baseValueName或的,指定groupOrder中的指定baseValueName的一组对象
{GroupOrder0:{BaseValueName0:[DocLotDetail0,DocLotDetail1]} , GroupOrder1:{BaseValueName0:[DocLotDetail0,DocLotDetail1],BaseValueName1:[DocLotDetail0,DocLotDetail1]} }