Найти тему
DEBAGanov

Java 1125. Что такое Stream?

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

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

Пример использования Stream API для фильтрации списка строк по длине:

List<String> list = Arrays.asList("apple", "orange", "banana", "pear");
List<String> filteredList = list.stream()
.filter(s -> s.length() > 5)
.collect(Collectors.toList());

В данном примере создается поток элементов из исходного списка, после чего выполняется операция фильтрации по длине строки, чтобы оставить только те элементы, которые содержат более 5 символов. Результат операции коллекционируется в новый список filteredList.

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

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov