Module java.base
Package java.util.stream

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

类型参数:
T - 流元素的类型
S - 实现BaseStream的流的类型
所有超接口:
AutoCloseable
所有已知子接口:
DoubleStream, IntStream, LongStream, Stream<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的包文档,这些规范控制所有流类型的行为。
自Java版本:
1.8
另请参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    close()
    关闭此流,导致调用此流管道的所有关闭处理程序。
    boolean
    返回此流是否在执行终端操作时会并行执行。
    返回此流的元素的迭代器。
    S
    onClose(Runnable closeHandler)
    返回具有额外关闭处理程序的等效流。
    S
    返回等效的并行流。
    S
    返回等效的顺序流。
    返回此流的元素的分割迭代器。
    S
    返回等效的无序流。
  • Method Details

    • 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
      另请参见: