Встречается на собеседованиях • сегодня
Какие знаешь особенности метода peek
Метод `peek()` в Java относится к интерфейсу `Stream` и используется для промежуточного выполнения действия над элементами потока без их изменения.
**Особенности:**
1. **Ленивый** – выполняется только при наличии терминальной операции.
2. **Не изменяет поток** – предназначен для отладки или побочных эффектов (логирование, изменение внешних переменных).
3. **Может быть пропущен** при оптимизации стрима (например, `limit()`).
**Пример:**
```java
List list = List.of("a", "b", "c");
list.stream()
.peek(s -> System.out.println("Before filter: " + s))
.filter(s -> s.equals("b"))
.peek(s -> System.out.println("After filter: " + s))
.forEach(System.out::println);
```
**Вывод:**
```
Before filter: a
Before filter: b
After filter: b
b
Before filter: c
```
**Осторожно:** Чрезмерное использование `peek()` для модификации состояния может нарушить принципы функционального программирования.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы