Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Проміжна Обробка за Допомогою Методу peek() | Проміжні Операції у Stream API
Stream API

bookПроміжна Обробка за Допомогою Методу peek()

Метод peek() дозволяє вставити логування на етапі обробки без зміни потоку даних, а потім продовжити операції над елементами, які проходять необхідне фільтрування.

Stream<T> peek(Consumer<? super T> action);

Цей метод приймає об'єкт, що реалізує інтерфейс Consumer, який виконує операцію над кожним елементом потоку.

Практичний приклад

Фабрика повинна перевірити продукти, щоб переконатися, що їхні назви починаються з "product-" і відповідають певному шаблону. Одночасно потрібно залогувати всі продукти у списку. Коректні продукти мають бути зібрані у список і виведені на консоль.

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> items = Arrays.asList("product-H31KD", "product-A12ZX", "item-X99KD", "product-B67QF", "product-12345", "invalidData"); // Example of using peek for logging and collecting filtered elements into a new list List<String> validProducts = items.stream() .peek(item -> System.out.println("Checking item: " + item)) .filter(item -> item.startsWith("product-")) .toList(); // Collecting filtered elements into a list // Printing the list of validated products System.out.println("List of validated products: " + validProducts); } }

Код фільтрує елементи зі списку items, залишаючи лише ті, що починаються з "product-". Метод peek() логгує кожен перевірений елемент, а коректні продукти збираються у список і виводяться на консоль.

question mark

Що робить метод peek() у Stream API?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 11

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.33

bookПроміжна Обробка за Допомогою Методу peek()

Свайпніть щоб показати меню

Метод peek() дозволяє вставити логування на етапі обробки без зміни потоку даних, а потім продовжити операції над елементами, які проходять необхідне фільтрування.

Stream<T> peek(Consumer<? super T> action);

Цей метод приймає об'єкт, що реалізує інтерфейс Consumer, який виконує операцію над кожним елементом потоку.

Практичний приклад

Фабрика повинна перевірити продукти, щоб переконатися, що їхні назви починаються з "product-" і відповідають певному шаблону. Одночасно потрібно залогувати всі продукти у списку. Коректні продукти мають бути зібрані у список і виведені на консоль.

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> items = Arrays.asList("product-H31KD", "product-A12ZX", "item-X99KD", "product-B67QF", "product-12345", "invalidData"); // Example of using peek for logging and collecting filtered elements into a new list List<String> validProducts = items.stream() .peek(item -> System.out.println("Checking item: " + item)) .filter(item -> item.startsWith("product-")) .toList(); // Collecting filtered elements into a list // Printing the list of validated products System.out.println("List of validated products: " + validProducts); } }

Код фільтрує елементи зі списку items, залишаючи лише ті, що починаються з "product-". Метод peek() логгує кожен перевірений елемент, а коректні продукти збираються у список і виводяться на консоль.

question mark

Що робить метод peek() у Stream API?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 11
some-alt