Package it.unimi.dsi.fastutil.ints
Class IntSpliterators.EarlyBindingSizeIndexBasedSpliterator
java.lang.Object
it.unimi.dsi.fastutil.ints.AbstractIntSpliterator
it.unimi.dsi.fastutil.ints.IntSpliterators.AbstractIndexBasedSpliterator
it.unimi.dsi.fastutil.ints.IntSpliterators.EarlyBindingSizeIndexBasedSpliterator
- All Implemented Interfaces:
IntSpliterator
,Spliterator<Integer>
,Spliterator.OfInt
,Spliterator.OfPrimitive<Integer,
IntConsumer, Spliterator.OfInt>
- Enclosing class:
IntSpliterators
public abstract static class IntSpliterators.EarlyBindingSizeIndexBasedSpliterator
extends IntSpliterators.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.ints.IntSpliterators.AbstractIndexBasedSpliterator
characteristics, estimateSize, forEachRemaining, skip, tryAdvance, trySplit
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractIntSpliterator
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.ints.IntSpliterator
forEachRemaining, getComparator, tryAdvance
Methods inherited from interface java.util.Spliterator
getExactSizeIfKnown, hasCharacteristics