Class ArrayRangeIterator

  • All Implemented Interfaces:
    java.util.Iterator

    public class ArrayRangeIterator
    extends java.lang.Object
    implements java.util.Iterator
    Iterator class for values contained in an array range. This type of iterator can be used for any contiguous range of items in an object array.
    Version:
    1.1
    Author:
    Dennis M. Sosnoski
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static ArrayRangeIterator EMPTY_ITERATOR
      Empty iterator used whenever possible.
      protected java.lang.Object[] m_array
      Array supplying values for iteration.
      protected int m_limit
      Ending offset for values.
      protected int m_offset
      Offset of next iteration value.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ArrayRangeIterator​(java.lang.Object[] array, int start, int limit)
      Internal constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Iterator buildIterator​(java.lang.Object[] array, int start, int limit)
      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

      • EMPTY_ITERATOR

        public static final ArrayRangeIterator EMPTY_ITERATOR
        Empty iterator used whenever possible.
      • m_array

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

        protected int m_offset
        Offset of next iteration value.
      • m_limit

        protected int m_limit
        Ending offset for values.
    • Constructor Detail

      • ArrayRangeIterator

        private ArrayRangeIterator​(java.lang.Object[] array,
                                   int start,
                                   int limit)
        Internal constructor.
        Parameters:
        array - array containing values to be iterated
        start - starting offset in array
        limit - offset past end of values
    • Method Detail

      • 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,
                                                       int start,
                                                       int limit)
        Build iterator.
        Parameters:
        array - array containing values to be iterated (may be null)
        start - starting offset in array
        limit - offset past end of values
        Returns:
        constructed iterator