Найти тему
DEBAGanov

Java 542. Какие операции выбора доступны в Java 8 Stream API?

В Java 8 Stream API доступны следующие операции выбора (selection operations):

  • filter(Predicate<T> predicate) - фильтрует элементы потока по заданному условию, возвращая новый поток.
  • distinct() - удаляет дубликаты элементов из потока, возвращая новый поток без повторений.
  • limit(long maxSize) - ограничивает количество элементов в потоке не более указанного значения, возвращая новый поток с ограниченным количеством элементов.
  • skip(long n) - пропускает первые N элементов в потоке и возвращает новый поток с оставшимися элементами.
  • takeWhile(Predicate<T> predicate) - возвращает элементы потока, пока выполняется условие, заданное в предикате. До тех пор, пока предикат возвращает true для каждого элемента, элементы передаются по цепочке операций в виде нового потока данных.
  • dropWhile(Predicate<T> predicate) - пропускает элементы потока до тех пор, пока выполняется условие, заданное в предикате. Как только предикат вернет false, оставшиеся элементы будут переданы по цепочке операций в виде нового потока данных.
  • findFirst() - возвращает первый элемент из потока в виде Optional.
  • findAny() - возвращает любой элемент из потока в виде Optional.

Операции выбора позволяют выбирать из потока только те элементы, которые удовлетворяют заданному условию, либо ограничивать количество элементов в потоке. Кроме того, при помощи операций findFirst() и findAny() можно получить первый или любой элемент из потока.

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

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

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