在 Java 的 Stream 中,'peek' 方法可以用于查看每个元素的值,而 'findFirst' 可以用于查找第一个符合条件的元素。当这两个方法一起使用时,可以在查找第一个符合条件的元素之前先查看每个元素的值,以便进行更复杂的操作。

例如,假设有一个包含学生信息的列表,我们想要从中找到第一个年龄大于 18 岁的学生,并输出其姓名和年龄。可以使用如下代码:

List<Student> students = // 获取学生信息列表
students.stream()
        .peek(s -> System.out.println('Checking student: ' + s.getName()))
        .filter(s -> s.getAge() > 18)
        .findFirst()
        .ifPresent(s -> System.out.println('Found student: ' + s.getName() + ', age: ' + s.getAge()));

在上述代码中,'peek' 方法用于在过滤器之前输出每个学生的姓名,以便我们知道程序正在查找哪些学生。'filter' 方法用于过滤出年龄大于 18 岁的学生,'findFirst' 方法用于查找第一个符合条件的学生,'ifPresent' 方法用于输出找到的学生的姓名和年龄。

Java Stream 中 peek 和 findFirst 的联合使用示例

原文地址: https://www.cveoy.top/t/topic/lrhf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录