Class THashPrimitiveIterator

  • All Implemented Interfaces:
    TIterator, TPrimitiveIterator

    public abstract class THashPrimitiveIterator
    extends java.lang.Object
    implements TPrimitiveIterator

    Implements all iterator functions for the hashed object set. Subclasses may override objectAtIndex to vary the object returned by calls to next() (e.g. for values, and Map.Entry objects).

    Note that iteration is fastest if you forego the calls to hasNext in favor of checking the size of the structure yourself and then call next() that many times:

     Iterator i = collection.iterator();
     for (int size = collection.size(); size-- > 0;) {
       Object o = i.next();
     }
     

    You may, of course, use the hasNext(), next() idiom too if you aren't in a performance critical spot.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int _expectedSize
      the number of elements this iterator believes are in the data structure it accesses.
      protected TPrimitiveHash _hash
      the data structure this iterator traverses
      protected int _index
      the index used for iteration.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()
      Returns true if the iterator can be advanced past its current location.
      protected void moveToNextIndex()
      Sets the internal index so that the `next' object can be returned.
      protected int nextIndex()
      Returns the index of the next value in the data structure or a negative value if the iterator is exhausted.
      void remove()
      Removes the last entry returned by the iterator.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _hash

        protected final TPrimitiveHash _hash
        the data structure this iterator traverses
      • _expectedSize

        protected int _expectedSize
        the number of elements this iterator believes are in the data structure it accesses.
      • _index

        protected int _index
        the index used for iteration.
    • Constructor Detail

      • THashPrimitiveIterator

        public THashPrimitiveIterator​(TPrimitiveHash hash)
        Creates a TPrimitiveIterator for the specified collection.
        Parameters:
        hash - the TPrimitiveHash we want to iterate over.
    • Method Detail

      • nextIndex

        protected final int nextIndex()
        Returns the index of the next value in the data structure or a negative value if the iterator is exhausted.
        Returns:
        an int value
        Throws:
        java.util.ConcurrentModificationException - if the underlying collection's size has been modified since the iterator was created.
      • hasNext

        public boolean hasNext()
        Returns true if the iterator can be advanced past its current location.
        Specified by:
        hasNext in interface TIterator
        Specified by:
        hasNext in interface TPrimitiveIterator
        Returns:
        a boolean value
      • remove

        public void remove()
        Removes the last entry returned by the iterator. Invoking this method more than once for a single entry will leave the underlying data structure in a confused state.
        Specified by:
        remove in interface TIterator
        Specified by:
        remove in interface TPrimitiveIterator
      • moveToNextIndex

        protected final void moveToNextIndex()
        Sets the internal index so that the `next' object can be returned.