public static abstract class Spliterators.AbstractIntSpliterator
extends Object
implements Spliterator.OfInt
java.lang.Object | |
↳ | java.util.Spliterators.AbstractIntSpliterator |
抽象 Spliterator.OfInt
,实现 trySplit
以允许有限的并行性。
要实现分割器,扩展类只需要实现tryAdvance(java.util.function.IntConsumer)
tryAdvance}。 如果扩展类可以提供更高性能的实现,则应该覆盖forEachRemaining(java.util.function.IntConsumer)
forEach}。
Inherited constants |
---|
From interface java.util.Spliterator
|
Protected constructors |
|
---|---|
Spliterators.AbstractIntSpliterator(long est, int additionalCharacteristics) 创建报告给定的估计大小和特征的分割器。 |
Public methods |
|
---|---|
int |
characteristics() 返回此Spliterator及其元素的一组特征。 |
long |
estimateSize() 返回 |
Spliterator.OfInt |
trySplit() 如果这个分割器可以被分割,返回一个Spliterator覆盖元素,当从这个方法返回时,不会被这个分割器覆盖。 这种实现允许有限的并行性。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.util.Spliterator.OfInt
|
|
From interface java.util.Spliterator.OfPrimitive
|
|
From interface java.util.Spliterator
|
Spliterators.AbstractIntSpliterator (long est, int additionalCharacteristics)
创建报告给定的估计大小和特征的分割器。
Parameters | |
---|---|
est |
long : the estimated size of this spliterator if known, otherwise Long.MAX_VALUE . |
additionalCharacteristics |
int : properties of this spliterator's source or elements. If SIZED is reported then this spliterator will additionally report SUBSIZED . |
int characteristics ()
返回此Spliterator及其元素的一组特征。 结果从表示为或运算值ORDERED
, DISTINCT
, SORTED
, SIZED
, NONNULL
, IMMUTABLE
, CONCURRENT
, SUBSIZED
。 重复调用characteristics()
在给定的spliterator之前或在两者之间的调用, trySplit
,应始终返回相同的结果。
如果Spliterator报告一组不一致的特征(无论是从单个调用还是跨多个调用返回的特征),都不能保证使用此Spliterator的任何计算。
Returns | |
---|---|
int |
a representation of characteristics |
long estimateSize ()
返回 forEachRemaining(Consumer
)
遍历所遇到的元素数量的估计值,如果无限,未知或计算成本太高,则返回 MAX_VALUE
。
如果此Spliterator为SIZED
且尚未部分穿过或分割,或者此Spliterator为SUBSIZED
且尚未部分遍历,则此估计必须是完整遍历将遇到的元素的精确计数。 否则,这个估计值可能是任意不准确的,但必须按照调用trySplit()
规定降低。
Returns | |
---|---|
long |
the estimated size, or Long.MAX_VALUE if infinite, unknown, or too expensive to compute. |
Spliterator.OfInt trySplit ()
如果这个分割器可以被分割,返回一个Spliterator覆盖元素,当从这个方法返回时,不会被这个分割器覆盖。
如果此Spliterator为 ORDERED
,则返回的Spliterator必须覆盖元素的严格前缀。
除非此Spliterator覆盖无限数量的元素,否则重复调用trySplit()
必须最终返回null
。 非空返回时:
estimateSize()
before splitting, must, after splitting, be greater than or equal to estimateSize()
for this and the returned Spliterator; andSUBSIZED
, then estimateSize()
for this spliterator before splitting must be equal to the sum of estimateSize()
for this and the returned Spliterator after splitting.此方法可能因任何原因返回null
,包括空行,遍历开始后无法拆分,数据结构约束和效率考虑因素。 这种实现允许有限的并行性。
Returns | |
---|---|
Spliterator.OfInt |
a Spliterator covering some portion of the elements, or null if this spliterator cannot be split |