Как работают Stream API в Java?

Пользователь

от caterina , в категории: Java , 5 месяцев назад

Как работают Stream API в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от pauline , 5 месяцев назад

@caterina 

Stream API в Java предназначен для обработки данных с помощью функционального программирования. Он предоставляет поток данных, который можно обрабатывать и преобразовывать с помощью различных операций.


Stream API работает по следующей схеме:

  1. Создание потока данных - для этого используются методы stream() или parallelStream() у коллекций, массивов и других структур данных.
  2. Промежуточные операции - это операции, которые можно применить к потоку данных без изменения самого потока. Примеры таких операций: filter(), map(), sorted(), distinct(), peek().
  3. Терминальные операции - это операции, которые завершают работу с потоком данных и возвращают результат. Примеры таких операций: count(), forEach(), collect(), max(), min(), reduce(), anyMatch(), allMatch(), noneMatch().


Пример использования:

1
2
3
4
5
6
7
List names = Arrays.asList("John", "Paul", "George", "Ringo");

long count = names.stream()
                  .filter(name -> name.startsWith("J"))
                  .count();

System.out.println(count); // выводит 1


В этом примере мы создали поток данных из списка и применили к нему промежуточную операцию filter(), чтобы оставить только имена, начинающиеся с буквы "J". Затем мы применили терминальную операцию count(), чтобы посчитать количество таких имен. Результат был выведен в консоль.


Stream API в Java позволяет писать более чистый, функциональный и модульный код, что делает его очень удобным для работы с данными.