Интерфейс 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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот поток, вызывая все обработчики закрытия для этой цепочки потоков. |
boolean |
isParallel() |
Возвращает, будет ли этот поток выполняться параллельно, если будет выполнена терминальная операция. |
Iterator |
iterator() |
Возвращает итератор для элементов этого потока. |
S |
onClose |
Возвращает эквивалентный поток с дополнительным обработчиком закрытия. |
S |
parallel() |
Возвращает эквивалентный параллельный поток. |
S |
sequential() |
Возвращает эквивалентный последовательный поток. |
Spliterator |
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 - См. также:
© 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