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, java.util.Spliterator<java.lang.Integer>, java.util.Spliterator.OfInt, java.util.Spliterator.OfPrimitive<java.lang.Integer,​java.util.function.IntConsumer,​java.util.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

    java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,​T_CONS extends java.lang.Object,​T_SPLITR extends java.util.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.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