-
- 参数类型
-
T
- 流元素的类型 -
S
- 实现BaseStream
的流的类型
- All Superinterfaces:
-
AutoCloseable
- All Known Subinterfaces:
-
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
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
close()
关闭此流,导致此流管道的所有关闭处理程序被调用。boolean
isParallel()
返回此流是否要执行终端操作,将并行执行。Iterator<T>
iterator()
返回此流的元素的迭代器。S
onClose(Runnable closeHandler)
返回带有附加关闭处理程序的等效流。S
parallel()
返回平行的等效流。S
sequential()
返回顺序的等效流。Spliterator<T>
spliterator()
返回此流的元素的拼接器。S
unordered()
返回等效的流,即 unordered 。
-
-
-
方法详细信息
-
iterator
Iterator<T> iterator()
返回此流的元素的迭代器。这是一个terminal operation 。
- 结果
- 该流的元素迭代器
-
spliterator
Spliterator<T> spliterator()
返回此流的元素的拼接器。这是一个terminal operation 。
返回的分配器应该报告从流管道导出的特征集(即从流源分割器和中间操作导出的特性)。 实施可能会报告这些特征的子集。 例如,为一些或所有可能的流管线计算整个集合可能太贵了。
- 结果
- 该流的元素拼接器
-
isParallel
boolean isParallel()
返回此流是否要执行终端操作,将并行执行。 在调用终端流操作方法后调用此方法可能会产生不可预测的结果。- 结果
-
true
如果这个数据流将执行并行执行
-
sequential
S sequential()
- 结果
- 顺序流
-
parallel
S parallel()
- 结果
- 并行流
-
unordered
S unordered()
- 结果
- 无序的流
-
onClose
S onClose(Runnable closeHandler)
返回带有附加关闭处理程序的等效流。 在流上调用close()
方法时运行关闭处理程序,并按照添加的顺序执行。 所有关闭的处理程序都运行,即使较早的关闭处理程序抛出异常。 如果任何关闭处理程序抛出异常,抛出的第一个异常将被转发给close()
的调用者,其余任何其余的异常作为禁止异常添加到该异常中(除非其中一个异常与第一个异常相同,否则为异常不能压制自己。)可能返回自己。这是一个intermediate operation 。
- 参数
-
closeHandler
- 流关闭时执行的任务 - 结果
- 具有处理程序的流,如果流已关闭,则运行该流
-
close
void close()
关闭此流,导致此流管道的所有关闭处理程序被调用。- Specified by:
-
close
在接口AutoCloseable
- 另请参见:
-
AutoCloseable.close()
-
-