Spec-Zone.ru › OpenJDK 24

Интерфейс BaseStreamS>>

Параметры типа:
T - тип элементов потока
S - тип потока, реализующего 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()

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/stream/BaseStream.html

Spec-Zone.ru

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