public final class Spliterators
extends Object
java.lang.Object | |
↳ | java.util.Spliterators |
用于操作或创建 Spliterator
及其原始 Spliterator.OfInt
Spliterator.OfLong
和 Spliterator.OfDouble
实例的静态类和方法。
也可以看看:
Nested classes |
|
---|---|
class |
Spliterators.AbstractDoubleSpliterator 抽象 |
class |
Spliterators.AbstractIntSpliterator 抽象 |
class |
Spliterators.AbstractLongSpliterator 抽象 |
class |
Spliterators.AbstractSpliterator<T> 抽象 |
Public methods |
|
---|---|
static Spliterator.OfDouble |
emptyDoubleSpliterator() 创建一个空的 |
static Spliterator.OfInt |
emptyIntSpliterator() 创建一个空的 |
static Spliterator.OfLong |
emptyLongSpliterator() 创建一个空的 |
static <T> Spliterator<T> |
emptySpliterator() 创建一个空的 |
static PrimitiveIterator.OfDouble |
iterator(Spliterator.OfDouble spliterator) 创建一个 |
static PrimitiveIterator.OfInt |
iterator(Spliterator.OfInt spliterator) 创建一个 |
static PrimitiveIterator.OfLong |
iterator(Spliterator.OfLong spliterator) 创建一个 |
static <T> Iterator<T> |
iterator(Spliterator<? extends T> spliterator) 创建一个 |
static <T> Spliterator<T> |
spliterator(Iterator<? extends T> iterator, long size, int characteristics) 创建一个 |
static Spliterator.OfLong |
spliterator(long[] array, int additionalCharacteristics) 创建一个 |
static <T> Spliterator<T> |
spliterator(Object[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个 |
static Spliterator.OfLong |
spliterator(long[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个 |
static Spliterator.OfLong |
spliterator(PrimitiveIterator.OfLong iterator, long size, int characteristics) 创建一个 |
static Spliterator.OfDouble |
spliterator(PrimitiveIterator.OfDouble iterator, long size, int characteristics) 创建一个 |
static Spliterator.OfDouble |
spliterator(double[] array, int additionalCharacteristics) 创建一个 |
static Spliterator.OfInt |
spliterator(int[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个 |
static <T> Spliterator<T> |
spliterator(Collection<? extends T> c, int characteristics) 使用给定集合的 |
static <T> Spliterator<T> |
spliterator(Object[] array, int additionalCharacteristics) 创建一个包含给定数组元素的 |
static Spliterator.OfInt |
spliterator(int[] array, int additionalCharacteristics) 创建一个 |
static Spliterator.OfDouble |
spliterator(double[] array, int fromIndex, int toIndex, int additionalCharacteristics) 创建一个 |
static Spliterator.OfInt |
spliterator(PrimitiveIterator.OfInt iterator, long size, int characteristics) 创建一个 |
static Spliterator.OfInt |
spliteratorUnknownSize(PrimitiveIterator.OfInt iterator, int characteristics) 创建一个 |
static <T> Spliterator<T> |
spliteratorUnknownSize(Iterator<? extends T> iterator, int characteristics) 创建一个 |
static Spliterator.OfDouble |
spliteratorUnknownSize(PrimitiveIterator.OfDouble iterator, int characteristics) 创建一个 |
static Spliterator.OfLong |
spliteratorUnknownSize(PrimitiveIterator.OfLong iterator, int characteristics) 创建一个 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
Spliterator.OfDouble emptyDoubleSpliterator ()
创建一个空的 Spliterator.OfDouble
空分割器报告SIZED
和SUBSIZED
。 致电trySplit()
总是返回null
。
Returns | |
---|---|
Spliterator.OfDouble |
An empty spliterator |
Spliterator.OfInt emptyIntSpliterator ()
创建一个空的 Spliterator.OfInt
空分割器报告SIZED
和SUBSIZED
。 致电trySplit()
总是返回null
。
Returns | |
---|---|
Spliterator.OfInt |
An empty spliterator |
Spliterator.OfLong emptyLongSpliterator ()
创建一个空的 Spliterator.OfLong
空分割器报告SIZED
和SUBSIZED
。 致电trySplit()
总是返回null
。
Returns | |
---|---|
Spliterator.OfLong |
An empty spliterator |
Spliterator<T> emptySpliterator ()
创建一个空的 Spliterator
空分割器报告SIZED
和SUBSIZED
。 致电trySplit()
总是返回null
。
Returns | |
---|---|
Spliterator<T> |
An empty spliterator |
PrimitiveIterator.OfDouble iterator (Spliterator.OfDouble spliterator)
创建一个 PrimitiveIterator.OfDouble
从 Spliterator.OfDouble
。
元素的遍历应该通过迭代器完成。 如果分隔符在迭代器返回后运行,则遍历的行为是不确定的。
Parameters | |
---|---|
spliterator |
Spliterator.OfDouble : The spliterator |
Returns | |
---|---|
PrimitiveIterator.OfDouble |
An iterator |
Throws | |
---|---|
NullPointerException |
if the given spliterator is null |
PrimitiveIterator.OfInt iterator (Spliterator.OfInt spliterator)
创建一个 PrimitiveIterator.OfInt
从 Spliterator.OfInt
。
元素的遍历应该通过迭代器完成。 如果分隔符在迭代器返回后运行,则遍历的行为是不确定的。
Parameters | |
---|---|
spliterator |
Spliterator.OfInt : The spliterator |
Returns | |
---|---|
PrimitiveIterator.OfInt |
An iterator |
Throws | |
---|---|
NullPointerException |
if the given spliterator is null |
PrimitiveIterator.OfLong iterator (Spliterator.OfLong spliterator)
创建一个 PrimitiveIterator.OfLong
从 Spliterator.OfLong
。
元素的遍历应该通过迭代器完成。 如果分隔符在迭代器返回后运行,则遍历的行为是不确定的。
Parameters | |
---|---|
spliterator |
Spliterator.OfLong : The spliterator |
Returns | |
---|---|
PrimitiveIterator.OfLong |
An iterator |
Throws | |
---|---|
NullPointerException |
if the given spliterator is null |
Iterator<T> iterator (Spliterator<? extends T> spliterator)
创建一个 Iterator
从 Spliterator
。
元素的遍历应该通过迭代器完成。 如果分隔符在迭代器返回后运行,则遍历的行为是不确定的。
Parameters | |
---|---|
spliterator |
Spliterator : The spliterator |
Returns | |
---|---|
Iterator<T> |
An iterator |
Throws | |
---|---|
NullPointerException |
if the given spliterator is null |
Spliterator<T> spliterator (Iterator<? extends T> iterator, long size, int characteristics)
创建一个 Spliterator
使用给定的 Iterator
作为元素的来源,并给定最初报告的大小。
分割器不是 late-binding ,它继承了迭代器 的快速故障属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,或者最初报告的大小不等于源中元素的实际数量,则分割和遍历的行为是未定义的。
Parameters | |
---|---|
iterator |
Iterator : The iterator for the source |
size |
long : The number of elements in the source, to be reported as initial estimateSize |
characteristics |
int : Characteristics of this spliterator's source or elements. The characteristics SIZED and SUBSIZED are additionally reported unless CONCURRENT is supplied. |
Returns | |
---|---|
Spliterator<T> |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfLong spliterator (long[] array, int additionalCharacteristics)
创建一个包含给定数组元素的 Spliterator.OfLong
,使用一组自定义的分割符特征。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(long[])
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
long : The array, assumed to be unmodified during use |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfLong |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
也可以看看:
Spliterator<T> spliterator (Object[] array, int fromIndex, int toIndex, int additionalCharacteristics)
创建一个 Spliterator
覆盖给定数组的一系列元素,使用一组自定义的分割器特性。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(Object[])
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
Object : The array, assumed to be unmodified during use |
fromIndex |
int : The least index (inclusive) to cover |
toIndex |
int : One past the greatest index to cover |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator<T> |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
ArrayIndexOutOfBoundsException |
if fromIndex is negative, toIndex is less than fromIndex , or toIndex is greater than the array size |
Spliterator.OfLong spliterator (long[] array, int fromIndex, int toIndex, int additionalCharacteristics)
创建一个 Spliterator.OfLong
,它使用一组自定义的分割器特性来覆盖给定数组的一系列元素。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(long[], int, int)
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分割器提供额外的特性来进行报告。 (例如,如果已知数组不会被进一步修改,则指定IMMUTABLE
;如果数组数据被认为具有遇到次序,则指定ORDERED
)。 该方法spliterator(long[], int, int)
通常可以替代地使用,这将返回一个报告spliterator SIZED
, SUBSIZED
, IMMUTABLE
,和ORDERED
。
Parameters | |
---|---|
array |
long : The array, assumed to be unmodified during use |
fromIndex |
int : The least index (inclusive) to cover |
toIndex |
int : One past the greatest index to cover |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfLong |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
ArrayIndexOutOfBoundsException |
if fromIndex is negative, toIndex is less than fromIndex , or toIndex is greater than the array size |
Spliterator.OfLong spliterator (PrimitiveIterator.OfLong iterator, long size, int characteristics)
创建一个 Spliterator.OfLong
使用给定的 LongStream.LongIterator
作为元素的来源,并给定最初报告的大小。
分割器不是 late-binding ,它继承了迭代器 的快速失效属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,或者最初报告的大小不等于源中元素的实际数量,则分割和遍历的行为是未定义的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfLong : The iterator for the source |
size |
long : The number of elements in the source, to be reported as initial estimateSize . |
characteristics |
int : Characteristics of this spliterator's source or elements. The characteristics SIZED and SUBSIZED are additionally reported unless CONCURRENT is supplied. |
Returns | |
---|---|
Spliterator.OfLong |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfDouble spliterator (PrimitiveIterator.OfDouble iterator, long size, int characteristics)
创建一个 Spliterator.OfDouble
使用给定的 DoubleStream.DoubleIterator
作为元素的来源,并给定最初报告的大小。
分割器不是 late-binding ,它继承了迭代器 的快速故障属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,或者最初报告的大小不等于源中元素的实际数量,则分割和遍历的行为是未定义的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfDouble : The iterator for the source |
size |
long : The number of elements in the source, to be reported as initial estimateSize |
characteristics |
int : Characteristics of this spliterator's source or elements. The characteristics SIZED and SUBSIZED are additionally reported unless CONCURRENT is supplied. |
Returns | |
---|---|
Spliterator.OfDouble |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfDouble spliterator (double[] array, int additionalCharacteristics)
创建一个包含给定数组元素的 Spliterator.OfDouble
,使用一组自定义的分割符特征。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(double[])
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
double : The array, assumed to be unmodified during use |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfDouble |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
也可以看看:
Spliterator.OfInt spliterator (int[] array, int fromIndex, int toIndex, int additionalCharacteristics)
创建一个 Spliterator.OfInt
覆盖给定数组的一系列元素,使用一组自定义的分割符特征。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(int[], int, int)
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
int : The array, assumed to be unmodified during use |
fromIndex |
int : The least index (inclusive) to cover |
toIndex |
int : One past the greatest index to cover |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfInt |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
ArrayIndexOutOfBoundsException |
if fromIndex is negative, toIndex is less than fromIndex , or toIndex is greater than the array size |
也可以看看:
Spliterator<T> spliterator (Collection<? extends T> c, int characteristics)
使用给定集合的 iterator()
作为元素来源创建 Spliterator
,并将其 size()
报告为其初始大小。
分割器是 late-binding ,它继承集合的迭代器 的快速失败属性,并实现 trySplit
以允许有限的并行。
Parameters | |
---|---|
c |
Collection : The collection |
characteristics |
int : Characteristics of this spliterator's source or elements. The characteristics SIZED and SUBSIZED are additionally reported unless CONCURRENT is supplied. |
Returns | |
---|---|
Spliterator<T> |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given collection is null |
Spliterator<T> spliterator (Object[] array, int additionalCharacteristics)
创建一个包含给定数组元素的 Spliterator
,使用一组自定义的分割符特征。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(Object[])
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
Object : The array, assumed to be unmodified during use |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator<T> |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
也可以看看:
Spliterator.OfInt spliterator (int[] array, int additionalCharacteristics)
创建一个包含给定数组的元素的 Spliterator.OfInt
,使用一组自定义的分割器特性。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(int[])
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分手者提供额外的特征来报告; 通常额外指定IMMUTABLE
和ORDERED
。
Parameters | |
---|---|
array |
int : The array, assumed to be unmodified during use |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfInt |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
也可以看看:
Spliterator.OfDouble spliterator (double[] array, int fromIndex, int toIndex, int additionalCharacteristics)
创建一个 Spliterator.OfDouble
覆盖给定数组的一系列元素,使用一组自定义的分割器特性。
该方法作为Spliterator的实现便利提供,它将元素的部分元素存储在数组中,并且需要对Spliterator特性进行精细控制。 大多数其他需要使用数组的Spliterator的情况应该使用spliterator(double[], int, int)
。
返回的分割器总是报告特征SIZED
和SUBSIZED
。 调用者可以为分割器提供额外的特性来进行报告。 (例如,如果已知数组不会被进一步修改,则指定IMMUTABLE
;如果数组数据被认为具有遇到次序,则指定ORDERED
)。 该方法spliterator(long[], int, int)
通常可以替代地使用,这将返回一个报告spliterator SIZED
, SUBSIZED
, IMMUTABLE
,和ORDERED
。
Parameters | |
---|---|
array |
double : The array, assumed to be unmodified during use |
fromIndex |
int : The least index (inclusive) to cover |
toIndex |
int : One past the greatest index to cover |
additionalCharacteristics |
int : Additional spliterator characteristics of this spliterator's source or elements beyond SIZED and SUBSIZED which are are always reported |
Returns | |
---|---|
Spliterator.OfDouble |
A spliterator for an array |
Throws | |
---|---|
NullPointerException |
if the given array is null |
ArrayIndexOutOfBoundsException |
if fromIndex is negative, toIndex is less than fromIndex , or toIndex is greater than the array size |
Spliterator.OfInt spliterator (PrimitiveIterator.OfInt iterator, long size, int characteristics)
创建一个 Spliterator.OfInt
使用给定的 IntStream.IntIterator
作为元素的来源,并给定最初报告的大小。
分割器不是 late-binding ,继承了迭代器 的快速失效属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,或者最初报告的大小不等于源中元素的实际数量,则分割和遍历的行为是未定义的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfInt : The iterator for the source |
size |
long : The number of elements in the source, to be reported as initial estimateSize . |
characteristics |
int : Characteristics of this spliterator's source or elements. The characteristics SIZED and SUBSIZED are additionally reported unless CONCURRENT is supplied. |
Returns | |
---|---|
Spliterator.OfInt |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfInt spliteratorUnknownSize (PrimitiveIterator.OfInt iterator, int characteristics)
使用给定的 IntStream.IntIterator
作为元素的来源创建 Spliterator.OfInt
,没有初始大小估计。
分割器不是 late-binding ,它继承了迭代器 的快速故障属性,并实现了 trySplit
以允许有限的并行。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,则分裂和遍历的行为是不确定的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfInt : The iterator for the source |
characteristics |
int : Characteristics of this spliterator's source or elements (SIZED and SUBSIZED , if supplied, are ignored and are not reported.) |
Returns | |
---|---|
Spliterator.OfInt |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator<T> spliteratorUnknownSize (Iterator<? extends T> iterator, int characteristics)
创建一个 Spliterator
使用给定的 Iterator
作为元素的来源,没有初始大小估计。
分割器不是 late-binding ,它继承了迭代器 的快速失效属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,则分裂和遍历的行为是不确定的。
Parameters | |
---|---|
iterator |
Iterator : The iterator for the source |
characteristics |
int : Characteristics of this spliterator's source or elements (SIZED and SUBSIZED , if supplied, are ignored and are not reported.) |
Returns | |
---|---|
Spliterator<T> |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfDouble spliteratorUnknownSize (PrimitiveIterator.OfDouble iterator, int characteristics)
使用给定的 DoubleStream.DoubleIterator
作为元素来源创建一个 Spliterator.OfDouble
,没有初始大小估计。
分割器不是 late-binding ,它继承了迭代器 的快速失败属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,则分裂和遍历的行为是不确定的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfDouble : The iterator for the source |
characteristics |
int : Characteristics of this spliterator's source or elements (SIZED and SUBSIZED , if supplied, are ignored and are not reported.) |
Returns | |
---|---|
Spliterator.OfDouble |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |
Spliterator.OfLong spliteratorUnknownSize (PrimitiveIterator.OfLong iterator, int characteristics)
创建一个 Spliterator.OfLong
使用给定的 LongStream.LongIterator
作为元素的来源,没有初始大小的估计。
分割器不是 late-binding ,它继承了迭代器 的快速失效属性,并实现了 trySplit
以允许有限的并行性。
元素的遍历应该通过分割器完成。 如果迭代器在分割器返回后操作,则分裂和遍历的行为是不确定的。
Parameters | |
---|---|
iterator |
PrimitiveIterator.OfLong : The iterator for the source |
characteristics |
int : Characteristics of this spliterator's source or elements (SIZED and SUBSIZED , if supplied, are ignored and are not reported.) |
Returns | |
---|---|
Spliterator.OfLong |
A spliterator from an iterator |
Throws | |
---|---|
NullPointerException |
if the given iterator is null |