Class IntIntHashMap.AbstractIterator<E>

java.lang.Object
org.apache.lucene.util.hppc.IntIntHashMap.AbstractIterator<E>
All Implemented Interfaces:
Iterator<E>
Direct Known Subclasses:
IntIntHashMap.EntryIterator, IntIntHashMap.KeysIterator, IntIntHashMap.ValuesIterator
Enclosing class:
IntIntHashMap

public abstract static class IntIntHashMap.AbstractIterator<E> extends Object implements Iterator<E>
Simplifies the implementation of iterators a bit. Modeled loosely after Google Guava's API.
  • Field Details

    • NOT_CACHED

      private static final int NOT_CACHED
      See Also:
    • CACHED

      private static final int CACHED
      See Also:
    • AT_END

      private static final int AT_END
      See Also:
    • state

      private int state
      Current iterator state.
    • nextElement

      private E nextElement
      The next element to be returned from next() if fetched.
  • Constructor Details

    • AbstractIterator

      public AbstractIterator()
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<E>
    • next

      public E next()
      Specified by:
      next in interface Iterator<E>
    • remove

      public void remove()
      Default implementation throws UnsupportedOperationException.
      Specified by:
      remove in interface Iterator<E>
    • fetch

      protected abstract E fetch()
      Fetch next element. The implementation must return done() when all elements have been fetched.
      Returns:
      Returns the next value for the iterator or chain-calls done().
    • done

      protected final E done()
      Call when done.
      Returns:
      Returns a unique sentinel value to indicate end-of-iteration.