问题
java 中如何用Stream 统计List中元素某个字段值不同的次数?
解决办法
求List中订单类型字段不同值的次数,直接上代码:
int orderTypeCount = orderList.stream().collect(Collectors.groupingBy(OrderInfo::getOrderType, Collectors.counting())).size();
说明:
(1)使用Collectors.groupingBy()函数对需要统计出现次数的字段进行分组,Collectors.groupingBy()函数提供了单参数、双参数、三参数三种重载方式来满足不同的分组需求。本例中用双参数的形式允许指定下游收集器来处理分组后的元素,在分组的同时进行计数、求和。
(2)分组后得到集合,集合的长度就是字段值不同的次数。
777

被折叠的 条评论
为什么被折叠?



