- java.lang.Object
-
- java.util.stream.StreamSupport
-
public final class StreamSupport extends Object
用于创建和操纵流的低级实用程序方法。这个类主要用于呈现数据结构流视图的图书馆作家; 大多数针对最终用户的静态流方法都在各种
Stream
类中。- 从以下版本开始:
- 1.8
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static DoubleStream
doubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)
创建一个新的顺序或并行DoubleStream
从Supplier
的Spliterator.OfDouble
。static DoubleStream
doubleStream(Spliterator.OfDouble spliterator, boolean parallel)
创建一个新的串行或并行DoubleStream
从Spliterator.OfDouble
。static IntStream
intStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)
创建一个新的顺序或并行IntStream
从Supplier
的Spliterator.OfInt
。static IntStream
intStream(Spliterator.OfInt spliterator, boolean parallel)
创建一个新的串行或并行IntStream
从Spliterator.OfInt
。static LongStream
longStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)
创建一个新的顺序或并行LongStream
从Supplier
的Spliterator.OfLong
。static LongStream
longStream(Spliterator.OfLong spliterator, boolean parallel)
创建一个新的串行或并行LongStream
从Spliterator.OfLong
。static <T> Stream<T>
stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)
创建一个新的顺序或并行Stream
从Supplier
的Spliterator
。static <T> Stream<T>
stream(Spliterator<T> spliterator, boolean parallel)
创建一个新的串行或并行Stream
从Spliterator
。
-
-
-
方法详细信息
-
stream
public static <T> Stream<T> stream(Spliterator<T> spliterator, boolean parallel)
创建一个新的串行或并行Stream
从Spliterator
。在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。
强烈建议拼接器报告
IMMUTABLE
或CONCURRENT
的特征,或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)
创建一个新的顺序或并行Stream
从Supplier
的Spliterator
。Supplier.get()
方法将在供应商上调用不超过一次,并且只有在流管道的终端运行开始之后。该报告的特性spliterators
IMMUTABLE
或者CONCURRENT
,或者是late-binding ,很可能更有效地使用stream(java.util.Spliterator, boolean)
代替。以这种形式使用
Supplier
提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详见Non-Interference 。- 参数类型
-
T
- 流元素的类型 - 参数
-
supplier
- aSupplier
的Spliterator
-
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)
创建一个新的串行或并行IntStream
从Spliterator.OfInt
。在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。
强烈建议拼接器报告
IMMUTABLE
或CONCURRENT
的特征,或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)
创建一个新的顺序或并行IntStream
从Supplier
的Spliterator.OfInt
。Supplier.get()
方法将在供应商上调用不超过一次,只有在流管道的终端运行开始之后。该报告的特性spliterators
IMMUTABLE
或者CONCURRENT
,或者是late-binding ,很可能更有效地使用intStream(java.util.Spliterator.OfInt, boolean)
代替。以这种形式使用
Supplier
提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详见Non-Interference 。- 参数
-
supplier
- aSupplier
的Spliterator.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)
创建一个新的串行或并行LongStream
从Spliterator.OfLong
。在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。
强烈建议拼接器报告
IMMUTABLE
或CONCURRENT
的特征,或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)
创建一个新的顺序或并行LongStream
从Supplier
的Spliterator.OfLong
。Supplier.get()
方法将在供应商上调用不超过一次,并且只有在流管道的终端运行开始之后。该报告的特性spliterators
IMMUTABLE
或者CONCURRENT
,或者是late-binding ,很可能更有效地使用longStream(java.util.Spliterator.OfLong, boolean)
代替。以这种形式使用
Supplier
提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详情请参阅Non-Interference 。- 参数
-
supplier
- aSupplier
的Spliterator.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)
创建一个新的串行或并行DoubleStream
从Spliterator.OfDouble
。在流量管道的终端运行开始后,拼接器仅被遍历,分割或查询估计大小。
强烈建议拼接器报告
IMMUTABLE
或CONCURRENT
的特征,或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)
创建一个新的顺序或并行DoubleStream
从Supplier
的Spliterator.OfDouble
。Supplier.get()
方法将在供应商上调用不超过一次,并且只有在流管道的终端运行开始之后。该报告的特性spliterators
IMMUTABLE
或者CONCURRENT
,或者是late-binding ,很可能更有效地使用doubleStream(java.util.Spliterator.OfDouble, boolean)
代替。以这种形式使用
Supplier
提供了一种间接级别,可以减少与源的潜在干扰的范围。 由于供应商仅在终端操作开始后被调用,所以在终端操作开始时对源的任何修改都反映在流结果中。 详情请参阅Non-Interference 。- 参数
-
supplier
- ASupplier
的Spliterator.OfDouble
-
characteristics
- 所提供的Spliterator.OfDouble
特性Spliterator.OfDouble
。 特性必须等于supplier.get().characteristics()
,否则当终端操作开始时可能会发生未定义的行为。 -
parallel
- 如果是true
则返回的流是并行流; 如果false
返回的流是顺序流。 - 结果
-
一个新的顺序或并行
DoubleStream
- 另请参见:
-
doubleStream(java.util.Spliterator.OfDouble, boolean)
-
-