Module  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​()
        返回此流的元素的拼接器。

        这是一个terminal operation

        返回的分配器应该报告从流管道导出的特征集(即从流源分割器和中间操作导出的特性)。 实施可能会报告这些特征的子集。 例如,为一些或所有可能的流管线计算整个集合可能太贵了。

        结果
        该流的元素拼接器
      • 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 - 流关闭时执行的任务
        结果
        具有处理程序的流,如果流已关闭,则运行该流