stream中的peek
时间: 2023-10-18 11:04:20 浏览: 91
PeekProblems:错误使用 Java 8 Stream peek 方法的演示
5星 · 资源好评率100%
在 Java 中,Stream.peek() 方法可以用于返回一个与原始 Stream 具有相同元素的新 Stream,但是在处理每个元素时会调用指定的操作。peek() 方法不会改变原始 Stream,而是生成一个新的 Stream。peek() 方法通常用于调试和日志记录,以便在不影响流的操作的情况下查看流中的元素。例如,我们可以使用 peek() 方法在流处理期间记录每个元素的值,如下所示:
```
List<String> names = Arrays.asList("John", "Jane", "Adam", "Tom");
names.stream()
.filter(name -> name.startsWith("J"))
.peek(System.out::println)
.map(String::toUpperCase)
.forEach(System.out::println);
```
在上面的代码中,peek() 方法用于在过滤操作之后打印流中的每个名称。这个操作不会改变流中的元素,但是它可以帮助我们调试代码并查看流处理的结果。
阅读全文