这个类主要是为库编写者提供数据结构流视图;大多数面向最终用户的静态流方法都在各种Stream
类中。
- 自 JDK 版本:
- 1.8
-
Method Summary
Modifier and TypeMethodDescriptionstatic DoubleStream
doubleStream
(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel) 从Spliterator.OfDouble
的Supplier
创建一个新的顺序或并行DoubleStream
。static DoubleStream
doubleStream
(Spliterator.OfDouble spliterator, boolean parallel) 从Spliterator.OfDouble
创建一个新的顺序或并行DoubleStream
。static IntStream
intStream
(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel) 从Spliterator.OfInt
的Supplier
创建一个新的顺序或并行IntStream
。static IntStream
intStream
(Spliterator.OfInt spliterator, boolean parallel) 从Spliterator.OfInt
创建一个新的顺序或并行IntStream
。static LongStream
longStream
(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel) 从Spliterator.OfLong
的Supplier
创建一个新的顺序或并行LongStream
。static LongStream
longStream
(Spliterator.OfLong spliterator, boolean parallel) 从Spliterator.OfLong
创建一个新的顺序或并行LongStream
。static <T> Stream
<T> stream
(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel) 从Spliterator
的Supplier
创建一个新的顺序或并行Stream
。static <T> Stream
<T> stream
(Spliterator<T> spliterator, boolean parallel) 从Spliterator
创建一个新的顺序或并行Stream
。
-
Method Details
-
stream
从Spliterator
创建一个新的顺序或并行Stream
。只有在流管道的终端操作开始后,才会遍历、拆分或查询估计大小的分割器。
强烈建议分割器报告
IMMUTABLE
或CONCURRENT
的特征,或者是后期绑定。否则,应该使用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) 从Supplier
的Spliterator
创建一个新的顺序或并行Stream
。只有在流管道的终端操作开始后,才会在供应商上调用
Supplier.get()
方法不超过一次。对于报告
IMMUTABLE
或CONCURRENT
特征的分割器,或者是后期绑定的分割器,使用stream(java.util.Spliterator, boolean)
可能更有效。以这种形式使用
Supplier
提供了一定程度的间接性,减少了与源的潜在干扰范围。由于供应商只有在终端操作开始后才会被调用,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关更多详细信息,请参见非干扰。- 类型参数:
-
T
- 流元素的类型 - 参数:
-
supplier
- 一个Spliterator
的Supplier
-
characteristics
- 供应的Spliterator
的分割器特征。特征必须等于supplier.get().characteristics()
,否则在终端操作开始时可能会发生未定义的行为。 -
parallel
- 如果为true
,则返回的流是并行流;如果为false
,则返回的流是顺序流。 - 返回:
-
一个新的顺序或并行
Stream
-
intStream
从Spliterator.OfInt
创建一个新的顺序或并行IntStream
。只有在流管道的终端操作开始后,才会遍历、拆分或查询估计大小的分割器。
强烈建议分割器报告
IMMUTABLE
或CONCURRENT
的特征,或者是后期绑定。否则,应该使用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.OfInt
的Supplier
创建一个新的顺序或并行IntStream
。只有在流管道的终端操作开始后,才会在供应商上调用
Supplier.get()
方法不超过一次。对于报告
IMMUTABLE
或CONCURRENT
特征的分割器,或者是后期绑定的分割器,使用intStream(java.util.Spliterator.OfInt, boolean)
可能更有效。以这种形式使用
Supplier
提供了一定程度的间接性,减少了与源的潜在干扰范围。由于供应商只有在终端操作开始后才会被调用,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关更多详细信息,请参见非干扰。- 参数:
-
supplier
- 一个Spliterator.OfInt
的Supplier
-
characteristics
- 供应的Spliterator.OfInt
的分割器特征。特征必须等于supplier.get().characteristics()
,否则在终端操作开始时可能会发生未定义的行为。 -
parallel
- 如果为true
,则返回的流是并行流;如果为false
,则返回的流是顺序流。 - 返回:
-
一个新的顺序或并行
IntStream
- 参见:
-
longStream
从Spliterator.OfLong
创建一个新的顺序或并行LongStream
。只有在流管道的终端操作开始后,才会遍历、拆分或查询估计大小的分割器。
强烈建议分割器报告
IMMUTABLE
或CONCURRENT
的特征,或者是后期绑定。否则,应该使用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.OfLong
的Supplier
创建一个新的顺序或并行LongStream
。只有在流管道的终端操作开始后,才会在供应商上调用
Supplier.get()
方法不超过一次。对于报告
IMMUTABLE
或CONCURRENT
特征的分割器,或者是后期绑定的分割器,使用longStream(java.util.Spliterator.OfLong, boolean)
可能更有效。以这种形式使用
Supplier
提供了一定程度的间接性,减少了与源的潜在干扰范围。由于供应商只有在终端操作开始后才会被调用,因此在终端操作开始之前对源的任何修改都会反映在流结果中。有关更多详细信息,请参见非干扰。- 参数:
-
supplier
- 一个Spliterator.OfLong
的Supplier
-
characteristics
- 供应的Spliterator.OfLong
的分割器特征。特征必须等于supplier.get().characteristics()
,否则在终端操作开始时可能会发生未定义的行为。 -
parallel
- 如果为true
,则返回的流是并行流;如果为false
,则返回的流是顺序流。 - 返回:
-
一个新的顺序或并行
LongStream
- 参见:
-
doubleStream
创建一个新的顺序或并行DoubleStream
,从一个Spliterator.OfDouble
中创建。只有在流管道的终端操作开始后,才会遍历、拆分或查询分割器的估计大小。
强烈建议分割器报告
IMMUTABLE
或CONCURRENT
的特征,或者是延迟绑定。否则,应该使用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) 从Supplier
的Spliterator.OfDouble
创建一个新的顺序或并行DoubleStream
。在流管道的终端操作开始后,将最多调用一次供应商的
Supplier.get()
方法。对于报告特征
IMMUTABLE
或CONCURRENT
的分割器,或者是延迟绑定的分割器,使用doubleStream(java.util.Spliterator.OfDouble, boolean)
可能更有效。以这种形式使用
Supplier
提供了一定程度的间接性,减少了与源的潜在干扰范围。由于供应商仅在终端操作开始后调用,因此在终端操作开始之前对源的任何修改都会反映在流结果中。更多详情请参见非干扰。- 参数:
-
supplier
- 一个Supplier
,提供一个Spliterator.OfDouble
-
characteristics
- 所提供的Spliterator.OfDouble
的分割器特征。特征必须等于supplier.get().characteristics()
,否则在终端操作开始时可能会发生未定义的行为。 -
parallel
- 如果为true
,则返回的流是并行流;如果为false
,则返回的流是顺序流。 - 返回:
-
一个新的顺序或并行
DoubleStream
- 参见:
-