Package it.unimi.dsi.fastutil.longs
Class LongSpliterators.EarlyBindingSizeIndexBasedSpliterator
java.lang.Object
it.unimi.dsi.fastutil.longs.AbstractLongSpliterator
it.unimi.dsi.fastutil.longs.LongSpliterators.AbstractIndexBasedSpliterator
it.unimi.dsi.fastutil.longs.LongSpliterators.EarlyBindingSizeIndexBasedSpliterator
- All Implemented Interfaces:
LongSpliterator
,Spliterator<Long>
,Spliterator.OfLong
,Spliterator.OfPrimitive<Long,
LongConsumer, Spliterator.OfLong>
- Enclosing class:
LongSpliterators
public abstract static class LongSpliterators.EarlyBindingSizeIndexBasedSpliterator
extends LongSpliterators.AbstractIndexBasedSpliterator
A skeletal implementation for a spliterator backed by an index based data store. High performance
concrete implementations (like the main Spliterator of ArrayList) generally should avoid using
this and just implement the interface directly, but should be decent for less performance
critical implementations.
This class implements an early binding strategy for getMaxPos()
. The last index this
spliterator covers is fixed at construction time and does not vary on changes to the backing data
store. This should usually be the size of the backing
data store (until a split at least), hence the class' name, but this is not required.
As the abstract methods in this class are used in inner loops, it is generally a good idea to
override the class as final
as to encourage the JVM to inline them (or alternatively,
override the abstract methods as final).
-
Nested Class Summary
Nested classes/interfaces inherited from interface java.util.Spliterator
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,
T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> -
Field Summary
Fields inherited from interface java.util.Spliterator
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
-
Method Summary
Methods inherited from class it.unimi.dsi.fastutil.longs.LongSpliterators.AbstractIndexBasedSpliterator
characteristics, estimateSize, forEachRemaining, skip, tryAdvance, trySplit
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongSpliterator
forEachRemaining, tryAdvance
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongSpliterator
forEachRemaining, getComparator, tryAdvance
Methods inherited from interface java.util.Spliterator
getExactSizeIfKnown, hasCharacteristics