Java 1.8 Stream 流 Count 计数

更新时间 2023-07-25 10:46:45

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1700+ 小伙伴加入学习 ,欢迎点击围观

在 Java 1.8 中,Stream API 提供了 count() 方法用于计算流中的元素个数count() 方法返回一个 long 类型的值,表示流中元素的数量。

本小节将深入介绍 Java 1.8 中的 Stream 的 count() 方法,并通过示例代码演示如何使用它。

count() 方法概览

在 Stream API 中,count() 方法用于计算流中的元素个数。

long count()
  • count() 方法返回一个 long 类型的值,表示流中元素的数量。

使用 count() 方法

让我们通过几个示例来说明如何使用 count() 方法。

示例 1:计算列表中元素的个数

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

// 使用 count() 方法计算列表中元素的个数
long count = numbers.stream()
                   .count();

System.out.println("Number of elements: " + count); // 输出 "Number of elements: 5"

在这个例子中,我们首先创建一个整数列表 numbers。然后,我们使用 stream() 方法将列表转换为 Stream 对象,再使用 count() 方法计算列表中元素的个数。

示例 2:计算满足条件的元素个数

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

// 使用 count() 方法计算列表中大于 2 的元素个数
long count = numbers.stream()
                   .filter(num -> num > 2)
                   .count();

System.out.println("Number of elements greater than 2: " + count); // 输出 "Number of elements greater than 2: 3"

在这个例子中,我们使用 stream() 方法将列表转换为 Stream 对象,再使用 filter() 方法筛选出大于 2 的元素,并使用 count() 方法计算满足条件的元素个数。

示例 3:计算 Map 中键值对的个数

Map<String, Integer> scores = new HashMap<>();
scores.put("Alice", 85);
scores.put("Bob", 92);
scores.put("Charlie", 78);

// 使用 count() 方法计算 Map 中键值对的个数
long count = scores.entrySet().stream()
                   .count();

System.out.println("Number of key-value pairs: " + count); // 输出 "Number of key-value pairs: 3"

在这个例子中,我们首先创建一个包含姓名和分数的 Map scores。然后,我们使用 entrySet() 方法获取 Map 的键值对集合,并使用 stream() 方法将其转换为 Stream 对象,再使用 count() 方法计算键值对的个数。

总结

Java 1.8 中的 Stream API 提供了 count() 方法,用于计算流中的元素个数。通过使用 count() 方法,你可以方便地获取流中元素的数量。