Class SparseArrayIterator

  • All Implemented Interfaces:
    java.util.Iterator

    public class SparseArrayIterator
    extends java.lang.Object
    implements java.util.Iterator
    Iterator class for sparse values in an array. This type of iterator can be used for an object array which has references interspersed with nulls.
    Version:
    1.1
    Author:
    Dennis M. Sosnoski
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.Object[] m_array
      Array supplying values for iteration.
      protected int m_offset
      Offset of next iteration value.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private SparseArrayIterator​(java.lang.Object[] array)
      Internal constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean advance()
      Advance to next iteration value.
      static java.util.Iterator buildIterator​(java.lang.Object[] array)
      Build iterator.
      boolean hasNext()
      Check for iteration element available.
      java.lang.Object next()
      Get next iteration element.
      void remove()
      Remove element from iteration.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
    • Field Detail

      • m_array

        protected java.lang.Object[] m_array
        Array supplying values for iteration.
      • m_offset

        protected int m_offset
        Offset of next iteration value.
    • Constructor Detail

      • SparseArrayIterator

        private SparseArrayIterator​(java.lang.Object[] array)
        Internal constructor.
        Parameters:
        array - array containing values to be iterated
    • Method Detail

      • advance

        protected boolean advance()
        Advance to next iteration value. This advances the current position in the array to the next non-null value.
        Returns:
        true if element available, false if not
      • hasNext

        public boolean hasNext()
        Check for iteration element available.
        Specified by:
        hasNext in interface java.util.Iterator
        Returns:
        true if element available, false if not
      • next

        public java.lang.Object next()
        Get next iteration element.
        Specified by:
        next in interface java.util.Iterator
        Returns:
        next iteration element
        Throws:
        java.util.NoSuchElementException - if past end of iteration
      • remove

        public void remove()
        Remove element from iteration. This optional operation is not supported and always throws an exception.
        Specified by:
        remove in interface java.util.Iterator
        Throws:
        java.lang.UnsupportedOperationException - for unsupported operation
      • buildIterator

        public static java.util.Iterator buildIterator​(java.lang.Object[] array)
        Build iterator.
        Parameters:
        array - array containing values to be iterated (may be null)
        Returns:
        constructed iterator