Spec-Zone.ru › OpenJDK 25

Interface BaseStream<T, S extends BaseStream<T,S>>

Параметры типа:
T - the type of the stream elements
S - the type of the stream implementing BaseStream
Все суперинтерфейсы:
AutoCloseable
Все известные подинтерфейсы:
DoubleStream, IntStream, LongStream, Stream<T>
public interface BaseStream<T, S extends BaseStream<T,S>> extends AutoCloseable
Базовый интерфейс для потоков — последовательностей элементов, поддерживающих последовательные и параллельные агрегатные операции. Следующий пример иллюстрирует агрегатную операцию с использованием типов потоков Stream и IntStream, вычисляющую суммарный вес красных виджетов:
    int sum = widgets.stream()
                     .filter(w -> w.getColor() == RED)
                     .mapToInt(w -> w.getWeight())
                     .sum();
Дополнительные сведения о потоках, операциях с потоками, конвейерах потоков и параллелизме, определяющем поведение всех типов потоков, см. в документации класса Stream и документации пакета java.util.stream.
С:
1.8
См. также:
  • Stream
  • IntStream
  • LongStream
  • DoubleStream
  • java.util.stream

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает этот поток, вызывая все обработчики закрытия для конвейера этого потока.
boolean isParallel()
Возвращает значение, указывающее, будет ли этот поток выполняться параллельно, если для него будет выполнена терминальная операция.
Iterator<T> iterator()
Возвращает итератор элементов этого потока.
S onClose(Runnable closeHandler)
Возвращает эквивалентный поток с дополнительным обработчиком закрытия.
S parallel()
Возвращает эквивалентный параллельный поток.
S sequential()
Возвращает эквивалентный последовательный поток.
Spliterator<T> spliterator()
Возвращает сплитератор элементов этого потока.
S unordered()
Возвращает эквивалентный неупорядоченный поток.

Подробное описание методов

iterator

Iterator<T> iterator()
Возвращает итератор элементов этого потока.

Это терминальная операция.

Примечание к API:
Эта операция предоставляется как «аварийный выход», позволяющий произвольно обходить конвейер под управлением клиента, если имеющихся операций недостаточно для выполнения задачи.
Возвращает:
итератор элементов этого потока

spliterator

Spliterator<T> spliterator()
Возвращает сплитератор элементов этого потока.

Это терминальная операция.

Примечание к API:
Эта операция предоставляется как «аварийный выход», позволяющий произвольно обходить конвейер под управлением клиента, если имеющихся операций недостаточно для выполнения задачи.

Возвращаемый сплитератор должен сообщать набор характеристик, определяемых конвейером потока (а именно характеристик, полученных от сплитератора источника потока и промежуточных операций). Реализации могут сообщать подмножество этих характеристик. Например, вычисление полного набора может оказаться слишком затратным для некоторых или всех возможных конвейеров потоков.

Возвращает:
сплитератор элементов этого потока

isParallel

boolean isParallel()
Возвращает значение, указывающее, будет ли этот поток выполняться параллельно, если для него будет выполнена терминальная операция. Вызов этого метода после вызова метода терминальной операции потока может привести к непредсказуемым результатам.
Возвращает:
true если этот поток будет выполняться параллельно при выполнении

sequential

S sequential()
Возвращает эквивалентный последовательный поток. Может вернуть этот же поток, если он уже был последовательным, либо если базовое состояние потока было изменено на последовательное.

Это промежуточная операция.

Возвращает:
последовательный поток

parallel

S parallel()
Возвращает эквивалентный параллельный поток. Может вернуть этот же поток, если он уже был параллельным, либо если базовое состояние потока было изменено на параллельное.

Это промежуточная операция.

Возвращает:
параллельный поток

unordered

S unordered()
Возвращает эквивалентный неупорядоченный поток. Может вернуть этот же поток, если он уже был неупорядоченным, либо если базовое состояние потока было изменено на неупорядоченное.

Это промежуточная операция.

Возвращает:
неупорядоченный поток

onClose

S onClose(Runnable closeHandler)
Возвращает эквивалентный поток с дополнительным обработчиком закрытия. Обработчики закрытия запускаются при вызове метода close() для потока и выполняются в порядке добавления. Запускаются все обработчики закрытия, даже если более ранние обработчики выбрасывают исключения. Если какой-либо обработчик закрытия выбрасывает исключение, первое выброшенное исключение передаётся вызывающему кода close(), а все остальные исключения добавляются к нему как подавленные (если только одно из оставшихся исключений не совпадает с первым, поскольку исключение не может подавить само себя). Может вернуть этот же поток.

Это промежуточная операция.

Параметры:
closeHandler - задача, выполняемая при закрытии потока
Возвращает:
поток с обработчиком, который запускается при закрытии потока

close

void close()
Закрывает этот поток, вызывая все обработчики закрытия для конвейера этого потока.
Определён в:
close в интерфейсе AutoCloseable
См. также:
  • AutoCloseable.close()

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/BaseStream.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API