Интерфейс BaseStream<T,S extends BaseStream<T,S>>
- Параметры типа:
-
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, 2020, 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.