Middle
54
questionbank

Какие конечные методы работы со стримами вы знаете?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Конечные методы стримов Java потребляют элементы стрима и производят результат:

  1. forEach(Consumer<? super T> action): Выполняет действие для каждого элемента в стриме. Возвращает void.
    java
  2. forEachOrdered(Consumer<? super T> action): Выполняет действие для каждого элемента в стриме в заданном порядке.
    java
  3. toArray(): Собирает элементы стрима в массив Object[].
    java
  4. toArray(IntFunction<A[]> generator): Собирает элементы стрима в массив указанного типа.
    java
  5. reduce(BinaryOperator<T> accumulator): Объединяет элементы стрима с помощью функции-аккумулятора. Возвращает Optional<T>.
    java
  6. reduce(T identity, BinaryOperator<T> accumulator): Объединяет со стартовым значением.
    java
  7. reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner): Для параллельных стримов.
    java
  8. collect(Supplier<R> supplier, BiConsumer<R, ? super T> accumulator, BiConsumer<R, R> combiner): Мутирующее свертывание.
    java
  9. collect(Collector<? super T, A, R> collector): Свертывание с помощью Collector.
    java
  10. min(Comparator<? super T> comparator): Находит минимальный элемент. Возвращает Optional<T>.
    java
  11. max(Comparator<? super T> comparator): Находит максимальный элемент. Возвращает Optional<T>.
    java
  12. count(): Возвращает количество элементов в стриме. Возвращает long.
    java
  13. anyMatch(Predicate<? super T> predicate): Проверяет, соответствует ли хоть один элемент предикату. Возвращает boolean.
    java
  14. allMatch(Predicate<? super T> predicate): Проверяет, соответствуют ли все элементы предикату. Возвращает boolean.
    java
  15. noneMatch(Predicate<? super T> predicate): Проверяет, не соответствует ли ни один элемент предикату. Возвращает boolean.
    java
  16. findFirst(): Находит первый элемент в стриме. Возвращает Optional<T>.
    java
  17. findAny(): Находит любой элемент в стриме (особенно полезно для параллельных стримов). Возвращает Optional<T>.
    java

Интерфейсы IntStream, LongStream, DoubleStream имеют свои специализированные конечные операции, такие как sum(), average(), summaryStatistics().

java