Spec-Zone.ru › OpenJDK 21

Интерфейс BaseStream<T,S extends BaseStream<T,S>>

Type Parameters:
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, 2023, 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/21/docs/api/java.base/java/util/stream/BaseStream.html

Spec-Zone.ru

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