java8 stream.peek
时间: 2024-06-20 18:04:25 浏览: 157
Java 8 Stream操作类型及peek示例解析
5星 · 资源好评率100%
Java 8中的Stream.peek()方法是一个中间操作,它返回与原始流相同的元素流,但在每个元素被消费时都会调用指定的操作。它主要用于调试和理解流的元素处理方式。
具体来说,peek()方法是一个中间操作,它接受一个Consumer<T>参数。在每个元素上执行peek()方法时,都会执行Consumer<T>的accept()方法,并且peek()方法不会改变原始流中的元素。
下面是一个使用peek()方法的示例代码:
List<String> list = Arrays.asList("apple", "banana", "orange");
list.stream()
.peek(e -> System.out.println("Filter value: " + e))
.filter(e -> e.startsWith("a"))
.peek(e -> System.out.println("Map value: " + e))
.map(String::toUpperCase)
.forEach(System.out::println);
上面的代码中,我们先使用peek()方法输出过滤前的元素,然后使用filter()方法过滤出以"a"开头的元素,再使用peek()方法输出过滤后的元素,最后使用map()方法将元素转换为大写并输出。
阅读全文