-
- 参数类型
-
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
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
close()
关闭此流,导致调用此流管道的所有关闭处理程序。boolean
isParallel()
返回此流(如果要执行终端操作)是否将并行执行。Iterator<T>
iterator()
返回此流的元素的迭代器。S
onClose(Runnable closeHandler)
返回具有附加关闭处理程序的等效流。S
parallel()
返回并行的等效流。S
sequential()
返回顺序的等效流。Spliterator<T>
spliterator()
返回此流元素的spliterator。S
unordered()
返回等效流,即 unordered 。
-
-
-
方法详细信息
-
iterator
Iterator<T> iterator()
返回此流的元素的迭代器。这是一个terminal operation 。
- 结果
- 此流的元素迭代器
-
spliterator
Spliterator<T> spliterator()
返回此流元素的spliterator。这是一个terminal operation 。
返回的spliterator应报告从流管道派生的特征集(即从流源分裂器和中间操作派生的特征)。 实现可以报告这些特征的子集。 例如,为某些或所有可能的流管道计算整个集合可能太昂贵。
- 结果
- 此流的元素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()
关闭此流,导致调用此流管道的所有关闭处理程序。- Specified by:
-
close
在界面AutoCloseable
- 另请参见:
-
AutoCloseable.close()
-
-