stream peek
时间: 2023-09-29 18:08:25 浏览: 103
PeekProblems:错误使用 Java 8 Stream peek 方法的演示
5星 · 资源好评率100%
在 Java 8 中,Stream API 提供了 peek() 操作,该操作返回一个与原始流具有相同元素的新流。peek() 操作允许您在流的元素上执行某些操作,而不会更改流本身。它类似于 forEach() 操作,但是它可以返回一个流,因此您可以在链式流操作中使用它。
peek() 操作的语法如下:
```
Stream<T> peek(Consumer<? super T> action)
```
其中,action 是在每个元素上执行的操作的函数式接口,它接受一个元素作为参数并返回 void。
例如,下面的代码演示了如何使用 peek() 操作打印出流中的所有元素:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.stream()
.peek(System.out::println) // 打印元素
.count(); // 统计元素个数
```
这将打印出以下内容:
```
1
2
3
4
5
```
注意,peek() 操作只能用于调试或记录流中的元素。如果您需要对元素执行某些操作并返回新的流,请使用 map() 或 flatMap() 操作。
阅读全文