stream流中peek的作用
时间: 2023-11-23 20:55:25 浏览: 103
PeekProblems:错误使用 Java 8 Stream peek 方法的演示
5星 · 资源好评率100%
在Java Stream中,peek()方法是一种非终端操作,它允许你在流的每个元素上执行一个操作,而不会改变流的内容。peek()方法主要用于调试和观察流的中间状态,而不会对流的内容进行修改。它可以用于打印元素的值、记录日志、调试等。下面是一个使用peek()方法的例子:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = numbers.stream()
.peek(System.out::println) // 打印每个元素的值
.map(n -> n * 2) // 对每个元素乘以2
.collect(Collectors.toList());
```
在上面的例子中,我们首先创建了一个包含整数的列表。然后,我们使用stream()方法将其转换为一个流。接下来,我们使用peek()方法打印每个元素的值。然后,我们使用map()方法将每个元素乘以2。最后,我们使用collect()方法将结果收集到一个列表中。
注意,peek()方法是一种非终端操作,它不会触发流的处理。只有当你调用一个终端操作(如collect())时,流才会被处理。
阅读全文