Перейти к содержимому

Сборщики потоковых данных: Создавайте собственные операции для работы с потоками!

HappyCoders

0:00 / 0:00

Сборщики потоковых данных: Создавайте собственные операции для работы с потоками!

161 просмотр · 8 месяцев назад
HappyCoders
1,82 тыс. подписчиков
161 просмотр · 8 месяцев назад
API потоков Java был представлен в Java 8 в марте 2014 года, предоставив нам незаменимый инструмент для обработки данных. Однако ограниченный набор промежуточных операций — filter, map, flatMap, mapMulti, distinct, sorted, peak, limit, skip, takeWhile и dropWhile — означает, что более сложные преобразования данных не могут быть выражены напрямую через API потоков. Операции, такие как window и fold, среди многих других, отсутствуют, если посмотреть на запросы сообщества. Вместо интеграции всех этих операций в интерфейс потоков, команда JDK разработала новый API, который, с одной стороны, используется внутри самого JDK для предоставления востребованных промежуточных операций, а с другой стороны, позволяет разработчикам реализовывать свои собственные операции. Этот новый API называется «Stream Gatherers» и был впервые выпущен в качестве предварительной функции (JEP 461) в Java 22 в марте 2024 года, ровно через десять лет после представления API потоков. В Java 23 новый API был отправлен на второй этап предварительного тестирования без изменений (JEP 473). В этом докладе вы узнаете в теории и на практике (включая кодирование в реальном времени), что такое Stream Gatherers и как они работают, какие Gatherers уже доступны в JDK и как эффективно их использовать, как реализовать собственные Gatherers и в чем заключаются ограничения нового API. 👉 Ссылки и слайды https://www.happycoders.eu/stream-gat... 👉 Статья https://www.happycoders.eu/java/strea... 👉 Репозиторий GitHub https://github.com/SvenWoltmann/strea... 👉 Интересуетесь регулярными советами экспертов по современному Java и углубленными знаниями о JVM? Подпишитесь на рассылку HappyCoders: https://www.happycoders.eu/newsletter/ 👉 Обучение Java https://www.happycoders.eu/java-train... 📩 Контакты Форма обратной связи: https://www.happycoders.eu/contact/ Электронная почта: sven@happycoders.eu (Автор: Свен Вольтманн)