You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java streams统计整数列表中指定数字的出现次数

Java Streams统计列表指定整数出现次数实现方案

针对你给出的示例列表,统计数字6的出现次数的核心实现代码如下:

long occurrenceCount = newList.stream()
        .filter(num -> num.equals(6))
        .count();
// 最终occurrenceCount的值为3,符合预期

注意:这里使用equals做数值比较是为了兼容超出Integer缓存范围(-128~127)的数值场景,避免使用==比较对象地址导致的统计错误。


实现逻辑拆解

  • 调用集合的stream()方法得到元素流对象
  • 通过filter()中间操作,只保留和目标值匹配的元素
  • 调用count()终端操作,返回匹配元素的总个数

通用封装方法

如果需要复用统计逻辑,可以封装为通用工具方法,支持任意引用类型列表的元素次数统计:

public static <T> long countTargetOccurrences(List<T> inputList, T target) {
    return inputList.stream()
            // 过滤掉null元素避免空指针,不需要可删除该行
            .filter(Objects::nonNull)
            .filter(target::equals)
            .count();
}

如果是统计基本类型数组(比如int[])中的目标值出现次数,可以直接使用IntStream实现,逻辑一致:

int[] arr = {3,6,6,6,4,9,0};
long count = Arrays.stream(arr).filter(num -> num == 6).count();

内容的提问来源于stack exchange,提问作者classicmusiclover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 02:06:01