Java——Stream流的peek方法
    		       		warning:
    		            这篇文章距离上次修改已过443天,其中的内容可能已经有所变动。
    		        
        		                
                peek 方法是 Java 8 引入的流操作,它允许你在流的每个元素上执行一个简单的操作,同时它不会修改流中的元素。这个方法通常用于调试或者日志记录。
peek 方法的签名是这样的:
Stream<T> peek(Consumer<? super T> action)这里的 Consumer<? super T> 是一个消费者函数式接口,你可以传递一个 lambda 表达式或方法引用来对流中的每个元素执行操作。
下面是一个使用 peek 方法的例子:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
 
public class PeekExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
 
        Stream<Integer> stream = numbers.stream();
 
        stream.peek(n -> System.out.println("Processing element: " + n))
              .forEach(n -> System.out.println("Element: " + n));
    }
}在这个例子中,peek 方法被用来打印出流中每个元素的值,然后在 forEach 中再次打印出相同的值。这是为了演示 peek 方法可以用于调试目的。
注意,peek 方法不应该用于修改流中的元素,因为这可能会影响后续的流操作。如果你需要修改元素,应该使用 map 方法。
评论已关闭