public abstract static class Spliterators.AbstractSpliterator<T> extends Object implements Spliterator<T>
使用这个类,也允许有限的并行性,是创建从一个迭代器spliterator(见Spliterators.spliterator(Iterator, long, int)
。根据使用迭代器的情况可能会更容易或更比扩展这个类,方便时,已经有一个迭代器的使用。
Spliterators.spliterator(Iterator, long, int)
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,T_CONS,T_SPLITR extends Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
Modifier | Constructor and Description |
---|---|
protected |
AbstractSpliterator(long est, int additionalCharacteristics)
创建一个spliterator报告给出的估计的大小和additionalcharacteristics。
|
Modifier and Type | Method and Description |
---|---|
int |
characteristics()
返回一组这spliterator及其元素的特征。
|
long |
estimateSize()
返回的元素,将由一个
Spliterator.forEachRemaining(java.util.function.Consumer<? super T>) 遍历遇到的估计值,或者返回
Long.MAX_VALUE 如果无限的,未知的,或过于昂贵的计算。
|
Spliterator<T> |
trySplit()
如果这spliterator可以分割,返回一个spliterator覆盖的元素,将这一方法,在回归,不是这个spliterator覆盖。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining, getComparator, getExactSizeIfKnown, hasCharacteristics, tryAdvance
protected AbstractSpliterator(long est, int additionalCharacteristics)
est
-估计大小这spliterator如果知道,否则
Long.MAX_VALUE
。
additionalCharacteristics
-这spliterator源或元素的属性。如果
SIZED
报道这spliterator还将报告
SUBSIZED
。
public Spliterator<T> trySplit()
如果这spliterator是Spliterator.ORDERED
,返回的spliterator必须盖严前缀的元素。
除非这spliterator涵盖无限数量的元素,重复调用trySplit()
最终要回归null
在非零返回:
estimateSize()
分裂之前,必须经过分裂,可大于或等于estimateSize()
这和返回的spliterator;和SUBSIZED
,然后estimateSize()
这spliterator分裂之前必须经过分裂等于这和返回的spliterator estimateSize()
总和。这种方法可以返回任何理由,null
包括空虚,无力分裂后遍历开始,数据结构约束和效率方面的考虑。此实现允许有限的并行。
trySplit
接口
Spliterator<T>
Spliterator
覆盖部分的元素,或
null
如果这spliterator无法拆分
public long estimateSize()
Spliterator.forEachRemaining(java.util.function.Consumer<? super T>)
遍历遇到的估计值,或者返回
Long.MAX_VALUE
如果无限的,未知的,或过于昂贵的计算。
如果这spliterator是Spliterator.SIZED
尚未部分遍历或分裂,或这spliterator是Spliterator.SUBSIZED
尚未部分走过,这个估计必须的元素,将由一个完全遍历遇到一个准确的计数。否则,这个估计可能是任意的不准确,但必须指定在调用Spliterator.trySplit()
减少。
estimateSize
接口
Spliterator<T>
Long.MAX_VALUE
如果无限的,未知的,或过于昂贵的计算。
public int characteristics()
Spliterator.ORDERED
,
Spliterator.DISTINCT
,
Spliterator.SORTED
,
Spliterator.SIZED
,
Spliterator.NONNULL
,
Spliterator.IMMUTABLE
,
Spliterator.CONCURRENT
,
Spliterator.SUBSIZED
。重复调用
characteristics()
在给定的spliterator,之前或在电话
trySplit
之间,应始终返回相同的结果。
如果一个spliterator报道特点一致(或从一个单一的调用或跨多个调用返回),无法保证任何计算这spliterator。
characteristics
接口
Spliterator<T>
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.