- 自版本:
- 1.8
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
一个抽象的Spliterator.OfDouble
,实现了trySplit
以允许有限的并行性。static class
一个抽象的Spliterator.OfInt
,实现了trySplit
以允许有限的并行性。static class
一个抽象的Spliterator.OfLong
,实现了trySplit
以允许有限的并行性。static class
一个抽象的Spliterator
,实现了trySplit
以允许有限的并行性。 -
Method Summary
Modifier and TypeMethodDescriptionstatic Spliterator.OfDouble
创建一个空的Spliterator.OfDouble
static Spliterator.OfInt
创建一个空的Spliterator.OfInt
static Spliterator.OfLong
创建一个空的Spliterator.OfLong
static <T> Spliterator
<T> 创建一个空的Spliterator
static PrimitiveIterator.OfDouble
iterator
(Spliterator.OfDouble spliterator) 从Spliterator.OfDouble
创建一个PrimitiveIterator.OfDouble
。static PrimitiveIterator.OfInt
iterator
(Spliterator.OfInt spliterator) 从Spliterator.OfInt
创建一个PrimitiveIterator.OfInt
。static PrimitiveIterator.OfLong
iterator
(Spliterator.OfLong spliterator) 从Spliterator.OfLong
创建一个PrimitiveIterator.OfLong
。static <T> Iterator
<T> iterator
(Spliterator<? extends T> spliterator) 从Spliterator
创建一个Iterator
。static Spliterator.OfDouble
spliterator
(double[] array, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator.OfDouble
。static Spliterator.OfDouble
spliterator
(double[] array, int fromIndex, int toIndex, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素范围的Spliterator.OfDouble
。static Spliterator.OfInt
spliterator
(int[] array, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator.OfInt
。static Spliterator.OfInt
spliterator
(int[] array, int fromIndex, int toIndex, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素范围的Spliterator.OfInt
。static Spliterator.OfLong
spliterator
(long[] array, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator.OfLong
。static Spliterator.OfLong
spliterator
(long[] array, int fromIndex, int toIndex, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素范围的Spliterator.OfLong
。static <T> Spliterator
<T> spliterator
(Object[] array, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator
。static <T> Spliterator
<T> spliterator
(Object[] array, int fromIndex, int toIndex, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素范围的Spliterator
。static <T> Spliterator
<T> spliterator
(Collection<? extends T> c, int characteristics) static <T> Spliterator
<T> spliterator
(Iterator<? extends T> iterator, long size, int characteristics) 使用给定的Iterator
作为元素来源,并报告给定的初始大小,创建一个Spliterator
。static Spliterator.OfDouble
spliterator
(PrimitiveIterator.OfDouble iterator, long size, int characteristics) 使用给定的DoubleStream.DoubleIterator
作为元素来源,并报告给定的初始大小,创建一个Spliterator.OfDouble
。static Spliterator.OfInt
spliterator
(PrimitiveIterator.OfInt iterator, long size, int characteristics) 使用给定的IntStream.IntIterator
作为元素来源,并报告给定的初始大小,创建一个Spliterator.OfInt
。static Spliterator.OfLong
spliterator
(PrimitiveIterator.OfLong iterator, long size, int characteristics) 使用给定的LongStream.LongIterator
作为元素来源,并报告给定的初始大小,创建一个Spliterator.OfLong
。static <T> Spliterator
<T> spliteratorUnknownSize
(Iterator<? extends T> iterator, int characteristics) 使用给定的Iterator
作为元素来源,没有初始大小估计,创建一个Spliterator
。static Spliterator.OfDouble
spliteratorUnknownSize
(PrimitiveIterator.OfDouble iterator, int characteristics) 使用给定的DoubleStream.DoubleIterator
作为元素来源,没有初始大小估计,创建一个Spliterator.OfDouble
。static Spliterator.OfInt
spliteratorUnknownSize
(PrimitiveIterator.OfInt iterator, int characteristics) 使用给定的IntStream.IntIterator
作为元素来源,没有初始大小估计,创建一个Spliterator.OfInt
。static Spliterator.OfLong
spliteratorUnknownSize
(PrimitiveIterator.OfLong iterator, int characteristics) 使用给定的LongStream.LongIterator
作为元素来源,没有初始大小估计,创建一个Spliterator.OfLong
。
-
Method Details
-
emptySpliterator
创建一个空的Spliterator
空的分割器报告
Spliterator.SIZED
和Spliterator.SUBSIZED
。调用Spliterator.trySplit()
总是返回null
。- 类型参数:
-
T
- 元素的类型 - 返回:
- 一个空的分割器
-
emptyIntSpliterator
创建一个空的Spliterator.OfInt
空的分割器报告
Spliterator.SIZED
和Spliterator.SUBSIZED
。调用Spliterator.trySplit()
总是返回null
。- 返回:
- 一个空的分割器
-
emptyLongSpliterator
创建一个空的Spliterator.OfLong
空的分割器报告
Spliterator.SIZED
和Spliterator.SUBSIZED
。调用Spliterator.trySplit()
总是返回null
。- 返回:
- 一个空的分割器
-
emptyDoubleSpliterator
创建一个空的Spliterator.OfDouble
空的分割器报告
Spliterator.SIZED
和Spliterator.SUBSIZED
。调用Spliterator.trySplit()
总是返回null
。- 返回:
- 一个空的分割器
-
spliterator
使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator
。此方法作为Spliterator的实现便利性提供,用于存储部分元素在数组中的Spliterator,并需要对Spliterator特性进行精细控制。大多数需要数组的Spliterator的其他情况应该使用
Arrays.spliterator(Object[])
。返回的分割器总是报告特性
SIZED
和SUBSIZED
。调用者可以提供额外的特性供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 类型参数:
-
T
- 元素的类型 - 参数:
-
array
- 假定在使用过程中未修改的数组 -
additionalCharacteristics
- 此分割器的源或元素的额外分割器特性,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
- 参见:
-
spliterator
public static <T> Spliterator<T> spliterator(Object[] array, int fromIndex, int toIndex, int additionalCharacteristics) 使用自定义的一组分割器特性,创建一个覆盖给定数组元素范围的Spliterator
。此方法作为Spliterator的实现便利性提供,用于存储部分元素在数组中的Spliterator,并需要对Spliterator特性进行精细控制。大多数需要数组的Spliterator的其他情况应该使用
Arrays.spliterator(Object[])
。返回的分割器总是报告特性
SIZED
和SUBSIZED
。调用者可以提供额外的特性供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 类型参数:
-
T
- 元素的类型 - 参数:
-
array
- 假定在使用过程中未修改的数组 -
fromIndex
- 要覆盖的最小索引(包括) -
toIndex
- 要覆盖的最大索引(不包括) -
additionalCharacteristics
- 此分割器的源或元素的额外分割器特性,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
-
ArrayIndexOutOfBoundsException
- 如果fromIndex
为负数,toIndex
小于fromIndex
,或toIndex
大于数组大小 - 参见:
-
spliterator
使用自定义的一组分割器特性,创建一个覆盖给定数组元素的Spliterator.OfInt
。此方法作为Spliterator的实现便利性提供,用于存储部分元素在数组中的Spliterator,并需要对Spliterator特性进行精细控制。大多数需要数组的Spliterator的其他情况应该使用
Arrays.spliterator(int[])
。返回的分割器总是报告特性
SIZED
和SUBSIZED
。调用者可以提供额外的特性供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
- 参见:
-
spliterator
public static Spliterator.OfInt spliterator(int[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个Spliterator.OfInt
,覆盖给定数组范围的元素,使用自定义的分割器特征。此方法作为对那些将元素部分存储在数组中的Spliterator提供的实现便利,并需要对Spliterator特征进行精细控制。大多数需要数组分割器的其他情况应该使用
Arrays.spliterator(int[], int, int)
。返回的分割器总是报告特征
SIZED
和SUBSIZED
。调用者可以提供额外的特征供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
fromIndex
- 要覆盖的最小索引(包括) -
toIndex
- 要覆盖的最大索引的下一个索引 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
-
ArrayIndexOutOfBoundsException
- 如果fromIndex
为负数,toIndex
小于fromIndex
,或toIndex
大于数组大小 - 参见:
-
spliterator
创建一个Spliterator.OfLong
,覆盖给定数组的元素,使用自定义的分割器特征。此方法作为对那些将元素部分存储在数组中的Spliterator提供的实现便利,并需要对Spliterator特征进行精细控制。大多数需要数组分割器的其他情况应该使用
Arrays.spliterator(long[])
。返回的分割器总是报告特征
SIZED
和SUBSIZED
。调用者可以提供额外的特征供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
- 参见:
-
spliterator
public static Spliterator.OfLong spliterator(long[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个Spliterator.OfLong
,覆盖给定数组范围的元素,使用自定义的分割器特征。此方法作为对那些将元素部分存储在数组中的Spliterator提供的实现便利,并需要对Spliterator特征进行精细控制。大多数需要数组分割器的其他情况应该使用
Arrays.spliterator(long[], int, int)
。返回的分割器总是报告特征
SIZED
和SUBSIZED
。调用者可以提供额外的特征供分割器报告(例如,如果已知数组不会再被修改,请指定IMMUTABLE
;如果认为数组数据具有遭遇顺序,请指定ORDERED
)。方法Arrays.spliterator(long[], int, int)
通常可以替代,它返回一个报告SIZED
、SUBSIZED
、IMMUTABLE
和ORDERED
的分割器。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
fromIndex
- 要覆盖的最小索引(包括) -
toIndex
- 要覆盖的最大索引的下一个索引 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
-
ArrayIndexOutOfBoundsException
- 如果fromIndex
为负数,toIndex
小于fromIndex
,或toIndex
大于数组大小 - 参见:
-
spliterator
创建一个Spliterator.OfDouble
,覆盖给定数组的元素,使用自定义的分割器特征。此方法作为对那些将元素部分存储在数组中的Spliterator提供的实现便利,并需要对Spliterator特征进行精细控制。大多数需要数组分割器的其他情况应该使用
Arrays.spliterator(double[])
。返回的分割器总是报告特征
SIZED
和SUBSIZED
。调用者可以提供额外的特征供分割器报告;通常还会指定IMMUTABLE
和ORDERED
。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
- 参见:
-
spliterator
public static Spliterator.OfDouble spliterator(double[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个Spliterator.OfDouble
,覆盖给定数组范围的元素,使用自定义的分割器特征。此方法作为对那些将元素部分存储在数组中的Spliterator提供的实现便利,并需要对Spliterator特征进行精细控制。大多数需要数组分割器的其他情况应该使用
Arrays.spliterator(double[], int, int)
。返回的分割器总是报告特征
SIZED
和SUBSIZED
。调用者可以提供额外的特征供分割器报告(例如,如果已知数组不会再被修改,请指定IMMUTABLE
;如果认为数组数据具有遭遇顺序,请指定ORDERED
)。方法Arrays.spliterator(long[], int, int)
通常可以替代,它返回一个报告SIZED
、SUBSIZED
、IMMUTABLE
和ORDERED
的分割器。- 参数:
-
array
- 数组,在使用过程中假定未被修改 -
fromIndex
- 要覆盖的最小索引(包括) -
toIndex
- 要覆盖的最大索引的下一个索引 -
additionalCharacteristics
- 此分割器源或元素的额外分割器特征,超出总是报告的SIZED
和SUBSIZED
- 返回:
- 一个数组的分割器
- 抛出:
-
NullPointerException
- 如果给定的数组为null
-
ArrayIndexOutOfBoundsException
- 如果fromIndex
为负数,toIndex
小于fromIndex
,或toIndex
大于数组大小 - 参见:
-
spliterator
- 类型参数:
-
T
- 元素的类型 - 参数:
-
c
- 集合 -
characteristics
- 此分割迭代器的源或元素的特征。特征SIZED
和SUBSIZED
除非提供CONCURRENT
,否则还会被报告。 - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的集合为null
-
spliterator
public static <T> Spliterator<T> spliterator(Iterator<? extends T> iterator, long size, int characteristics) 使用给定的Iterator
作为元素源创建一个Spliterator
,并报告给定的初始大小。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,或者初始报告的大小与源中实际元素数量不相等,则拆分和遍历的行为是未定义的。
- 类型参数:
-
T
- 元素的类型 - 参数:
-
iterator
- 源的迭代器 -
size
- 源中的元素数量,作为初始estimateSize
报告 -
characteristics
- 此分割迭代器的源或元素的特征。特征SIZED
和SUBSIZED
除非提供CONCURRENT
,否则还会被报告。 - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliteratorUnknownSize
public static <T> Spliterator<T> spliteratorUnknownSize(Iterator<? extends T> iterator, int characteristics) 使用给定的Iterator
作为元素源创建一个Spliterator
,没有初始大小估计。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,则拆分和遍历的行为是未定义的。
- 类型参数:
-
T
- 元素的类型 - 参数:
-
iterator
- 源的迭代器 -
characteristics
- 此分割迭代器的源或元素的特征(如果提供SIZED
和SUBSIZED
,则会被忽略且不报告) - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliterator
public static Spliterator.OfInt spliterator(PrimitiveIterator.OfInt iterator, long size, int characteristics) 使用给定的IntStream.IntIterator
作为元素源创建一个Spliterator.OfInt
,并报告给定的初始大小。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,或者初始报告的大小与源中实际元素数量不相等,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
size
- 源中的元素数量,作为初始estimateSize
报告 -
characteristics
- 此分割迭代器的源或元素的特征。特征SIZED
和SUBSIZED
除非提供CONCURRENT
,否则还会被报告。 - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliteratorUnknownSize
public static Spliterator.OfInt spliteratorUnknownSize(PrimitiveIterator.OfInt iterator, int characteristics) 使用给定的LongStream.LongIterator
作为元素源创建一个Spliterator.OfInt
,没有初始大小估计。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
characteristics
- 此分割迭代器的源或元素的特征(如果提供SIZED
和SUBSIZED
,则会被忽略且不报告) - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliterator
public static Spliterator.OfLong spliterator(PrimitiveIterator.OfLong iterator, long size, int characteristics) 使用给定的LongStream.LongIterator
作为元素源创建一个Spliterator.OfLong
,并报告给定的初始大小。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,或者初始报告的大小与源中实际元素数量不相等,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
size
- 源中的元素数量,作为初始estimateSize
报告 -
characteristics
- 此分割迭代器的源或元素的特征。特征SIZED
和SUBSIZED
除非提供CONCURRENT
,否则还会被报告。 - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliteratorUnknownSize
public static Spliterator.OfLong spliteratorUnknownSize(PrimitiveIterator.OfLong iterator, int characteristics) 使用给定的LongStream.LongIterator
作为元素源创建一个Spliterator.OfLong
,没有初始大小估计。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
characteristics
- 此分割迭代器的源或元素的特征(如果提供SIZED
和SUBSIZED
,则会被忽略且不报告) - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliterator
public static Spliterator.OfDouble spliterator(PrimitiveIterator.OfDouble iterator, long size, int characteristics) 使用给定的DoubleStream.DoubleIterator
作为元素源创建一个Spliterator.OfDouble
,并报告给定的初始大小。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,或者初始报告的大小与源中实际元素数量不相等,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
size
- 源中的元素数量,作为初始estimateSize
报告 -
characteristics
- 此分割迭代器的源或元素的特征。特征SIZED
和SUBSIZED
除非提供CONCURRENT
,否则还会被报告。 - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
spliteratorUnknownSize
public static Spliterator.OfDouble spliteratorUnknownSize(PrimitiveIterator.OfDouble iterator, int characteristics) 使用给定的DoubleStream.DoubleIterator
作为元素源创建一个Spliterator.OfDouble
,没有初始大小估计。分割迭代器不是延迟绑定,继承迭代器的快速失败属性,并实现
trySplit
以允许有限的并行性。应通过分割迭代器来遍历元素。如果在返回分割迭代器后对迭代器进行操作,则拆分和遍历的行为是未定义的。
- 参数:
-
iterator
- 源的迭代器 -
characteristics
- 此分割迭代器的源或元素的特征(如果提供SIZED
和SUBSIZED
,则会被忽略且不报告) - 返回:
- 从迭代器创建的分割迭代器
- 抛出:
-
NullPointerException
- 如果给定的迭代器为null
-
iterator
从Spliterator
创建一个Iterator
。应通过迭代器来遍历元素。如果在返回迭代器后对分割迭代器进行操作,则遍历的行为是未定义的。
- 类型参数:
-
T
- 元素的类型 - 参数:
-
spliterator
- Spliterator - 返回:
- 一个迭代器
- 抛出:
-
NullPointerException
- 如果给定的Spliterator为null
-
iterator
从Spliterator.OfInt
创建一个PrimitiveIterator.OfInt
。应通过迭代器来遍历元素。如果在返回迭代器后继续操作Spliterator,则遍历行为是未定义的。
- 参数:
-
spliterator
- Spliterator - 返回:
- 一个迭代器
- 抛出:
-
NullPointerException
- 如果给定的Spliterator为null
-
iterator
从Spliterator.OfLong
创建一个PrimitiveIterator.OfLong
。应通过迭代器来遍历元素。如果在返回迭代器后继续操作Spliterator,则遍历行为是未定义的。
- 参数:
-
spliterator
- Spliterator - 返回:
- 一个迭代器
- 抛出:
-
NullPointerException
- 如果给定的Spliterator为null
-
iterator
从Spliterator.OfDouble
创建一个PrimitiveIterator.OfDouble
。应通过迭代器来遍历元素。如果在返回迭代器后继续操作Spliterator,则遍历行为是未定义的。
- 参数:
-
spliterator
- Spliterator - 返回:
- 一个迭代器
- 抛出:
-
NullPointerException
- 如果给定的Spliterator为null
-