Collectors.collectingAndThen()
注:第一个参数为要处理的数据,第二个参数为第一个参数的结果接着处理
ListyyjzyBOList = new ArrayList<>(); YyjzyBO yyjzyBO1 = new YyjzyBO(); yyjzyBO1.setProductId("123"); yyjzyBO1.setTradeuse("111"); YyjzyBO yyjzyBO2 = new YyjzyBO(); yyjzyBO2.setProductId("123"); yyjzyBO2.setTradeuse("333"); YyjzyBO yyjzyBO3 = new YyjzyBO(); yyjzyBO3.setProductId("1234"); yyjzyBO3.setTradeuse("222"); yyjzyBOList.add(yyjzyBO1); yyjzyBOList.add(yyjzyBO2); yyjzyBOList.add(yyjzyBO3); yyjzyBOList.stream(). collect(Collectors.collectingAndThen(Collectors.groupingBy(YyjzyBO::getProductId), ss->ss.size()));
Collectors.groupingBy()
注:第一个参数为分组的条件,返回一个map
ListyyjzyBOList = new ArrayList<>(); YyjzyBO yyjzyBO1 = new YyjzyBO(); yyjzyBO1.setProductId("123"); yyjzyBO1.setTradeuse("111"); YyjzyBO yyjzyBO2 = new YyjzyBO(); yyjzyBO2.setProductId("123"); yyjzyBO2.setTradeuse("333"); YyjzyBO yyjzyBO3 = new YyjzyBO(); yyjzyBO3.setProductId("1234"); yyjzyBO3.setTradeuse("222"); yyjzyBOList.add(yyjzyBO1); yyjzyBOList.add(yyjzyBO2); yyjzyBOList.add(yyjzyBO3); yyjzyBOList.stream(). Map collect = yyjzyBOList.stream().collect(Collectors.groupingBy(YyjzyBO::getProductId, Collectors.mapping(s -> s.getTradeuse(), Collectors.joining()))); for (Map.Entry stringStringEntry : collect.entrySet()) { System.out.println(stringStringEntry.getKey()+":"+stringStringEntry.getValue()); }



