Sobes.tech
Назад к вопросам
Junior — Middle
66

Можете объяснить, как реализован метод peek у потоков в Java и в чем его основное назначение?

Ответ от нейросети

sobes.tech AI

В Java метод peek используется в Stream API и предназначен для промежуточной операции, которая позволяет заглянуть в элементы потока без изменения самого потока. Основное назначение — выполнение побочных действий, например, логирования или отладки, без влияния на дальнейшую обработку.

peek принимает Consumer — функцию, которая применяется к каждому элементу потока, но не изменяет его.

Пример:

import java.util.stream.Stream;

public class PeekExample {
    public static void main(String[] args) {
        Stream.of("one", "two", "three")
            .peek(s -> System.out.println("Processing: " + s))
            .map(String::toUpperCase)
            .forEach(System.out::println);
    }
}

В этом примере peek выводит каждый элемент перед преобразованием в верхний регистр. Это удобно для отладки цепочек операций над потоками.