Назад к вопросам
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 выводит каждый элемент перед преобразованием в верхний регистр. Это удобно для отладки цепочек операций над потоками.