Java Stream如何分组并统计元素数量

   2024-10-01 4940
核心提示:在Java Stream中,可以使用Collectors.groupingBy()方法来对元素进行分组,然后通过Collectors.counting()方法统计每个分组中元

在Java Stream中,可以使用Collectors.groupingBy()方法来对元素进行分组,然后通过Collectors.counting()方法统计每个分组中元素的数量。

以下是一个示例代码,演示如何对一个包含数字的Stream进行分组并统计元素数量:

import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.stream.Collectors;public class Main {    public static void main(String[] args) {        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 1, 2, 3, 4, 1);        Map<Integer, Long> countByNumber = numbers.stream()                .collect(Collectors.groupingBy(n -> n, Collectors.counting()));        countByNumber.forEach((number, count) -> System.out.println(number + " : " + count));    }}

在上面的例子中,我们首先将数字列表转换为一个Stream,然后使用groupingBy()方法根据数字进行分组,然后通过counting()方法统计每个分组中元素的数量。最后,我们将结果打印出来,得到如下输出:

1 : 32 : 23 : 24 : 25 : 1

这表明数字1出现了3次,数字2、3、4分别出现了2次,数字5出现了1次。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号