Встречается на собеседованиях • сегодня
Как работает метод peek в Java Stream
Метод `peek()` в Java Stream — это промежуточная операция, которая позволяет выполнить действие для каждого элемента потока без его изменения. Он принимает `Consumer` и возвращает новый Stream с теми же элементами.
**Особенности:**
- Не изменяет элементы (как `map`), только "подглядывает" за ними.
- Ленивый — выполнится только при наличии терминальной операции.
- Полезен для отладки или логгирования промежуточных значений.
**Пример:**
```java
List names = List.of("Alice", "Bob", "Charlie");
List filtered = names.stream()
.peek(name -> System.out.println("Before filter: " + name))
.filter(name -> name.length() > 3)
.peek(name -> System.out.println("After filter: " + name))
.toList();
```
**Вывод:**
```
Before filter: Alice
Before filter: Bob
Before filter: Charlie
After filter: Alice
After filter: Charlie
```
⚠️ Не злоупотребляйте `peek()` для изменения состояния (это нарушает принципы функционального программирования).

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