Spec-Zone.ru › OpenJDK 17

Интерфейс 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()
Возвращает итератор для элементов этого потока.

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

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

spliterator

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

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

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

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

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, 2021, 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/17/docs/api/java.base/java/util/stream/BaseStream.html

Spec-Zone.ru

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