Метод peek() в Stream API предоставляет возможность выполнить операцию над каждым элементом потока без изменения самого потока. Этот метод принимает в качестве аргумента функциональный интерфейс Consumer, который определяет операцию, выполняемую над каждым элементом. Особенности метода peek(): Метод peek() является промежуточной операцией, то есть он не изменяет исходный поток элементов. Он возвращает новый поток, содержащий те же элементы, что и исходный поток. Метод peek() выполняет операцию над каждым элементом потока, но не возвращает результат этой операции. Операция, выполняемая методом peek(), должна быть безопасной и не изменять состояние элементов потока. Пример использования метода peek(): List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> doubledNumbers = numbers.stream()
.peek(n -> System.out.println("Исходный элемент: " + n))
.map(n -> n * 2)
.peek(n -> System.out.println("Удвоенный элемент: " + n))
.collect(Collectors.toList()); В этом