Module  java.base
软件包  java.util.stream

Class StreamSupport



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

    这个类主要用于呈现数据结构流视图的图书馆作家; 大多数针对最终用户的静态流方法都在各种Stream类中。

    从以下版本开始:
    1.8
    • 方法详细信息

      • stream

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

        在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。

        强烈建议拼接器报告IMMUTABLECONCURRENT的特征,或late-binding 否则,应使用stream(java.util.function.Supplier, int, boolean)来减少与源的潜在干扰的范围。 有关详细信息,请参阅Non-Interference

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

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

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

        该报告的特性spliterators IMMUTABLE或者CONCURRENT ,或者是late-binding ,很可能更有效地使用stream(java.util.Spliterator, boolean)代替。

        以这种形式使用Supplier提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详见Non-Interference

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

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

        在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。

        强烈建议拼接器报告IMMUTABLECONCURRENT的特征,或late-binding 否则,应使用intStream(java.util.function.Supplier, int, boolean)来减少与源的潜在干扰的范围。 详情请参阅Non-Interference

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

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

        Supplier.get()方法将在供应商上调用不超过一次,只有在流管道的终端运行开始之后。

        该报告的特性spliterators IMMUTABLE或者CONCURRENT ,或者是late-binding ,很可能更有效地使用intStream(java.util.Spliterator.OfInt, boolean)代替。

        以这种形式使用Supplier提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详见Non-Interference

        参数
        supplier - a SupplierSpliterator.OfInt
        characteristics - 提供的Spliterator特性Spliterator.OfInt 特性必须等于supplier.get().characteristics() ,否则当终端操作开始时可能会发生未定义的行为。
        parallel - 如果是true则返回的流是并行流; 如果false返回的流是顺序流。
        结果
        一个新的顺序或并行 IntStream
        另请参见:
        intStream(java.util.Spliterator.OfInt, boolean)
      • longStream

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

        在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。

        强烈建议拼接器报告IMMUTABLECONCURRENT的特征,或late-binding 否则,应使用longStream(java.util.function.Supplier, int, boolean)来减少与源的潜在干扰的范围。 详见Non-Interference

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

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

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

        该报告的特性spliterators IMMUTABLE或者CONCURRENT ,或者是late-binding ,很可能更有效地使用longStream(java.util.Spliterator.OfLong, boolean)代替。

        以这种形式使用Supplier提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详情请参阅Non-Interference

        参数
        supplier - a SupplierSpliterator.OfLong
        characteristics - 所提供的Spliterator.OfLong特性Spliterator.OfLong 特性必须等于supplier.get().characteristics() ,否则当终端操作开始时可能会发生未定义的行为。
        parallel - 如果是true则返回的流是并行流; 如果false返回的流是顺序流。
        结果
        一个新的顺序或并行 LongStream
        另请参见:
        longStream(java.util.Spliterator.OfLong, boolean)
      • doubleStream

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

        在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。

        强烈建议拼接器报告IMMUTABLECONCURRENT的特征,或late-binding 否则,应使用doubleStream(java.util.function.Supplier, int, boolean)来减少与源的潜在干扰的范围。 详情请参阅Non-Interference

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

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

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

        该报告的特性spliterators IMMUTABLE或者CONCURRENT ,或者是late-binding ,很可能更有效地使用doubleStream(java.util.Spliterator.OfDouble, boolean)代替。

        以这种形式使用Supplier提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详情请参阅Non-Interference

        参数
        supplier - A SupplierSpliterator.OfDouble
        characteristics - 所提供的Spliterator.OfDouble特性Spliterator.OfDouble 特性必须等于supplier.get().characteristics() ,否则当终端操作开始时可能会发生未定义的行为。
        parallel - 如果是true则返回的流是并行流; 如果false返回的流是顺序流。
        结果
        一个新的顺序或并行 DoubleStream
        另请参见:
        doubleStream(java.util.Spliterator.OfDouble, boolean)