public abstract static class Spliterators.AbstractDoubleSpliterator extends Object implements Spliterator.OfDouble
Spliterator.OfDouble
trySplit
允许有限的并行实现。
实现一个扩展类spliterator只需要实现Spliterator.OfDouble.tryAdvance(java.util.function.DoubleConsumer)
tryadvance }。扩展类应重写Spliterator.OfDouble.forEachRemaining(java.util.function.DoubleConsumer)
foreach }如果它能提供更高性能的实现。
使用这个类,也允许有限的并行性,是创建从一个迭代器spliterator(见Spliterators.spliterator(java.util.PrimitiveIterator.OfDouble, long, int)
。根据使用迭代器的情况可能会更容易或更不是这类方便。例如,如果已经有一个可用的迭代器,那么就没有必要扩展这个类。
Spliterators.spliterator(java.util.PrimitiveIterator.OfDouble, 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 |
AbstractDoubleSpliterator(long est, int additionalCharacteristics)
创建一个spliterator报告给出的估计大小和特点。
|
Modifier and Type | Method and Description |
---|---|
int |
characteristics()
返回一组这spliterator及其元素的特征。
|
long |
estimateSize()
返回的元素,将由一个
Spliterator.forEachRemaining(java.util.function.Consumer<? super T>) 遍历遇到的估计值,或者返回
Long.MAX_VALUE 如果无限的,未知的,或过于昂贵的计算。
|
Spliterator.OfDouble |
trySplit()
如果这spliterator可以分割,返回一个spliterator覆盖的元素,将这一方法,在回归,不是这个spliterator覆盖。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEachRemaining, forEachRemaining, tryAdvance, tryAdvance
getComparator, getExactSizeIfKnown, hasCharacteristics
protected AbstractDoubleSpliterator(long est, int additionalCharacteristics)
est
-估计大小这spliterator如果知道,否则
Long.MAX_VALUE
。
additionalCharacteristics
-性能。如果
SIZED
报道这spliterator还将报告
SUBSIZED
。
public Spliterator.OfDouble trySplit()
如果这spliterator是Spliterator.ORDERED
,返回的spliterator必须盖严前缀的元素。
除非这spliterator涵盖无限数量的元素,重复调用trySplit()
最终要回归null
。非零返回:
estimateSize()
分裂之前,必须经过分裂,大于或等于此和返回的spliterator estimateSize()
;和SUBSIZED
,然后estimateSize()
这spliterator分裂之前必须经过分裂等于这和返回的spliterator estimateSize()
总和。这种方法可以返回任何理由,null
包括空虚,无力分裂后遍历开始,数据结构约束和效率方面的考虑。此实现允许有限的并行。
trySplit
接口
Spliterator<Double>
trySplit
接口
Spliterator.OfDouble
trySplit
接口
Spliterator.OfPrimitive<Double,DoubleConsumer,Spliterator.OfDouble>
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<Double>
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<Double>
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.