模块  java.base
软件包  java.util.stream

Interface BaseStream<T,​S extends BaseStream<T,​S>>

  • 参数类型
    T - 流元素的类型
    S - 实现 BaseStream的流的类型
    All Superinterfaces:
    AutoCloseable
    All Known Subinterfaces:
    DoubleStreamIntStreamLongStreamStream<T>

    public interface BaseStream<T,​S extends BaseStream<T,​S>>
    extends AutoCloseable
    流的基本接口,它是支持顺序和并行聚合操作的元素序列。 以下示例说明了使用流类型StreamIntStream的聚合操作,计算红色窗口小部件的权重总和:
       int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w -> w.getWeight()) .sum();  
    请参阅类文档Stream和封装文件java.util.stream对于流的额外规范,流操作,流管道,以及并行性,支配所有流类型的行为。
    从以下版本开始:
    1.8
    另请参见:
    StreamIntStreamLongStreamDoubleStreamjava.util.stream
    • 方法详细信息

      • iterator

        Iterator<T> iterator()
        返回此流的元素的迭代器。

        这是一个terminal operation

        结果
        此流的元素迭代器
      • spliterator

        Spliterator<T> spliterator()
        返回此流元素的spliterator。

        这是一个terminal operation

        返回的spliterator应报告从流管道派生的特征集(即从流源分裂器和中间操作派生的特征)。 实现可以报告这些特征的子集。 例如,为某些或所有可能的流管道计算整个集合可能太昂贵。

        结果
        此流的元素spliterator
      • isParallel

        boolean isParallel()
        返回此流(如果要执行终端操作)是否将并行执行。 在调用终端流操作方法之后调用此方法可能会产生不可预测的结果。
        结果
        true如果执行此流将并行执行
      • sequential

        S sequential()
        返回顺序的等效流。 可能会返回自己,因为流已经是顺序的,或者因为基础流状态被修改为顺序。

        这是intermediate operation

        结果
        顺序流
      • parallel

        S parallel()
        返回并行的等效流。 可能会返回自己,因为流已经并行,或者因为基础流状态被修改为并行。

        这是一个intermediate operation

        结果
        并行流
      • unordered

        S unordered()
        返回unordered的等效流。 可能会返回自己,因为流已经无序,或者因为基础流状态被修改为无序。

        这是一个intermediate operation

        结果
        无序的流
      • onClose

        S onClose​(Runnable closeHandler)
        返回具有附加关闭处理程序的等效流。 在流上调用close()方法时,将运行关闭处理程序,并按添加顺序执行。 即使先前的关闭处理程序抛出异常,也会运行所有关闭处理程序。 如果任何关闭处理程序抛出异常,则抛出的第一个异常将被中继到调用者close() ,其中任何剩余的异常作为抑制异常添加到该异常中(除非其余异常之一与第一个异常相同,因为异常无法抑制自己。)可能会自行回归。

        这是intermediate operation

        参数
        closeHandler - 流关闭时执行的任务
        结果
        具有在流关闭时运行的处理程序的流