- java.lang.Object
-
- java.util.stream.StreamSupport
-
public final class StreamSupport extends Object
用于创建和操作流的低级实用程序方法。该类主要用于库编写者,提供数据结构的流视图; 针对最终用户的大多数静态流方法都在各种
Stream
类中。- 从以下版本开始:
- 1.8
-
-
方法摘要
所有方法 静态方法 具体的方法 变量和类型 方法 描述 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()
方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。对于报告特征为
IMMUTABLE
或CONCURRENT
或late-binding的分裂器 ,使用stream(java.util.Spliterator, boolean)
可能更有效。以这种形式使用
Supplier
提供了间接级别,减少了对源的潜在干扰的范围。 由于仅在终端操作开始之后调用供应商,因此直到终端操作开始的对源的任何修改都反映在流结果中。 有关详细信息,请参见Non-Interference 。- 参数类型
-
T
- 流元素的类型 - 参数
-
supplier
-Supplier
ofSpliterator
-
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()
方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。对于报告特征为
IMMUTABLE
或CONCURRENT
或late-binding的分裂者 ,使用intStream(java.util.Spliterator.OfInt, boolean)
可能更有效。以这种形式使用
Supplier
提供了间接级别,减少了对源的潜在干扰的范围。 由于仅在终端操作开始之后调用供应商,因此直到终端操作开始的对源的任何修改都反映在流结果中。 有关详细信息,请参见Non-Interference 。- 参数
-
supplier
-Supplier
的Spliterator.OfInt
-
characteristics
- 所提供的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()
方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。对于报告特征为
IMMUTABLE
或CONCURRENT
或late-binding的分裂者 ,使用longStream(java.util.Spliterator.OfLong, boolean)
可能更有效。以这种形式使用
Supplier
提供了间接级别,减少了对源的潜在干扰的范围。 由于仅在终端操作开始之后调用供应商,因此直到终端操作开始的对源的任何修改都反映在流结果中。 有关详细信息,请参见Non-Interference 。- 参数
-
supplier
-Supplier
的Spliterator.OfLong
-
characteristics
- 随附的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()
方法将在供应商上调用不超过一次,并且仅在流管道的终端操作开始之后。对于报告特征为
IMMUTABLE
或CONCURRENT
或late-binding的分裂器 ,使用doubleStream(java.util.Spliterator.OfDouble, boolean)
可能更有效。以这种形式使用
Supplier
提供了间接级别,减少了对源的潜在干扰的范围。 由于仅在终端操作开始之后调用供应商,因此直到终端操作开始的对源的任何修改都反映在流结果中。 有关详细信息,请参阅Non-Interference 。- 参数
-
supplier
-Supplier
ofSpliterator.OfDouble
-
characteristics
- 所提供的Spliterator.OfDouble
Spliterator特性。 特性必须等于supplier.get().characteristics()
,否则终端操作开始时可能会出现未定义的行为。 -
parallel
- 如果是true
则返回的流是并行流; 如果false
返回的流是顺序流。 - 结果
-
一个新的顺序或并行
DoubleStream
- 另请参见:
-
doubleStream(java.util.Spliterator.OfDouble, boolean)
-
-