模块 java.base

类 StreamSupport

java.lang.Object
java.util.stream.StreamSupport

public final class StreamSupport extends Object
用于创建和操作流的低级实用方法。

此类主要用于呈现数据结构流视图的库编写者;大多数面向最终用户的静态流方法都在各种Stream类中。

自从:
1.8
  • 方法详情

    • stream

      public static <T> Stream <T> stream(Spliterator <T> spliterator, boolean parallel)
      Spliterator 创建一个新的顺序或并行 Stream

      拆分器仅在流管道的终端操作开始后才被遍历、拆分或查询估计大小。

      强烈建议拆分器报告 IMMUTABLECONCURRENT 的特征,或者是 后期绑定 。否则,应使用stream(java.util.function.Supplier, int, boolean) 来减少对源的潜在干扰范围。有关详细信息,请参阅 不干涉

      类型参数:
      T - 流元素的类型
      参数:
      spliterator - 一个 Spliterator 描述流元素
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行Stream
    • stream

      public static <T> Stream <T> stream(Supplier <? extends Spliterator <T>> supplier, int characteristics, boolean parallel)
      SpliteratorSupplier 创建一个新的顺序或并行 Stream

      Supplier.get() 方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。

      对于报告 IMMUTABLECONCURRENT后期绑定 特性的拆分器,使用 stream(java.util.Spliterator, boolean) 可能更有效。

      以这种形式使用 Supplier 提供了一种间接级别,可以减少对源的潜在干扰范围。由于仅在终端操作开始后调用供应商,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关详细信息,请参阅 不干涉

      类型参数:
      T - 流元素的类型
      参数:
      supplier - SupplierSpliterator
      characteristics - 所提供的 Spliterator 的分离器特性。特性必须等于 supplier.get().characteristics() ,否则终端操作开始时可能会出现未定义的行为。
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行Stream
      参见:
    • intStream

      public static IntStream  intStream(Spliterator.OfInt  spliterator, boolean parallel)
      Spliterator.OfInt 创建一个新的顺序或并行 IntStream

      拆分器仅在流管道的终端操作开始后才被遍历、拆分或查询估计大小。

      强烈建议拆分器报告 IMMUTABLECONCURRENT 的特征,或者是 后期绑定 。否则,应使用intStream(java.util.function.Supplier, int, boolean) 来减少对源的潜在干扰范围。有关详细信息,请参阅 不干涉

      参数:
      spliterator - 描述流元素的 Spliterator.OfInt
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行IntStream
    • intStream

      public static IntStream  intStream(Supplier <? extends Spliterator.OfInt > supplier, int characteristics, boolean parallel)
      Spliterator.OfIntSupplier 创建一个新的顺序或并行 IntStream

      Supplier.get() 方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。

      对于报告 IMMUTABLECONCURRENT后期绑定 特征的拆分器,使用 intStream(java.util.Spliterator.OfInt, boolean) 可能更有效。

      以这种形式使用 Supplier 提供了一种间接级别,可以减少对源的潜在干扰范围。由于仅在终端操作开始后调用供应商,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关详细信息,请参阅 不干涉

      参数:
      supplier - SupplierSpliterator.OfInt
      characteristics - 所提供的 Spliterator.OfInt 的分离器特性。特性必须等于 supplier.get().characteristics() ,否则终端操作开始时可能会出现未定义的行为。
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行IntStream
      参见:
    • longStream

      public static LongStream  longStream(Spliterator.OfLong  spliterator, boolean parallel)
      Spliterator.OfLong 创建一个新的顺序或并行 LongStream

      拆分器仅在流管道的终端操作开始后才被遍历、拆分或查询估计大小。

      强烈建议拆分器报告 IMMUTABLECONCURRENT 的特征,或者是 后期绑定 。否则,应使用longStream(java.util.function.Supplier, int, boolean) 来减少对源的潜在干扰范围。有关详细信息,请参阅 不干涉

      参数:
      spliterator - 描述流元素的 Spliterator.OfLong
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行LongStream
    • longStream

      public static LongStream  longStream(Supplier <? extends Spliterator.OfLong > supplier, int characteristics, boolean parallel)
      Spliterator.OfLongSupplier 创建一个新的顺序或并行 LongStream

      Supplier.get() 方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。

      对于报告 IMMUTABLECONCURRENT后期绑定 特性的拆分器,使用 longStream(java.util.Spliterator.OfLong, boolean) 可能更有效。

      以这种形式使用 Supplier 提供了一种间接级别,可以减少对源的潜在干扰范围。由于仅在终端操作开始后调用供应商,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关详细信息,请参阅 不干涉

      参数:
      supplier - SupplierSpliterator.OfLong
      characteristics - 所提供的 Spliterator.OfLong 的分离器特性。特性必须等于 supplier.get().characteristics() ,否则终端操作开始时可能会出现未定义的行为。
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行LongStream
      参见:
    • doubleStream

      public static DoubleStream  doubleStream(Spliterator.OfDouble  spliterator, boolean parallel)
      Spliterator.OfDouble 创建一个新的顺序或并行 DoubleStream

      拆分器仅在流管道的终端操作开始后才被遍历、拆分或查询估计大小。

      强烈建议拆分器报告 IMMUTABLECONCURRENT 的特征,或者是 后期绑定 。否则,应使用doubleStream(java.util.function.Supplier, int, boolean) 来减少对源的潜在干扰范围。有关详细信息,请参阅 不干涉

      参数:
      spliterator - 描述流元素的 Spliterator.OfDouble
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行DoubleStream
    • doubleStream

      public static DoubleStream  doubleStream(Supplier <? extends Spliterator.OfDouble > supplier, int characteristics, boolean parallel)
      Spliterator.OfDoubleSupplier 创建一个新的顺序或并行 DoubleStream

      Supplier.get() 方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。

      对于报告 IMMUTABLECONCURRENT后期绑定 特性的拆分器,使用 doubleStream(java.util.Spliterator.OfDouble, boolean) 可能更有效。

      以这种形式使用 Supplier 提供了一种间接级别,可以减少对源的潜在干扰范围。由于仅在终端操作开始后调用供应商,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关详细信息,请参阅 不干涉

      参数:
      supplier - Spliterator.OfDoubleSupplier
      characteristics - 所提供的 Spliterator.OfDouble 的分离器特性。特性必须等于 supplier.get().characteristics() ,否则终端操作开始时可能会出现未定义的行为。
      parallel - 如果 true 则返回的流是并行流;如果 false 返回的流是顺序流。
      返回:
      一个新的顺序或并行DoubleStream
      参见: