Class ArrayIterator<E>

  • Type Parameters:
    E - the type of elements returned by this iterator
    All Implemented Interfaces:
    java.util.Iterator<E>, ResettableIterator<E>
    Direct Known Subclasses:
    ArrayListIterator

    public class ArrayIterator<E>
    extends java.lang.Object
    implements ResettableIterator<E>
    Implements an Iterator over any array.

    The array can be either an array of object or of primitives. If you know that you have an object array, the ObjectArrayIterator class is a better choice, as it will perform better.

    The iterator implements a reset() method, allowing the reset of the iterator back to the start if required.

    Since:
    1.0
    • Constructor Summary

      Constructors 
      Constructor Description
      ArrayIterator​(java.lang.Object array)
      Constructs an ArrayIterator that will iterate over the values in the specified array.
      ArrayIterator​(java.lang.Object array, int startIndex)
      Constructs an ArrayIterator that will iterate over the values in the specified array from a specific start index.
      ArrayIterator​(java.lang.Object array, int startIndex, int endIndex)
      Construct an ArrayIterator that will iterate over a range of values in the specified array.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getArray()
      Gets the array that this iterator is iterating over.
      int getEndIndex()
      Gets the end index to loop to.
      int getStartIndex()
      Gets the start index to loop from.
      boolean hasNext()
      Returns true if there are more elements to return from the array.
      E next()
      Returns the next element in the array.
      void remove()
      Throws UnsupportedOperationException.
      void reset()
      Resets the iterator back to the start index.
      • Methods inherited from class java.lang.Object

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

        forEachRemaining
    • Constructor Detail

      • ArrayIterator

        public ArrayIterator​(java.lang.Object array)
        Constructs an ArrayIterator that will iterate over the values in the specified array.
        Parameters:
        array - the array to iterate over.
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.NullPointerException - if array is null
      • ArrayIterator

        public ArrayIterator​(java.lang.Object array,
                             int startIndex)
        Constructs an ArrayIterator that will iterate over the values in the specified array from a specific start index.
        Parameters:
        array - the array to iterate over.
        startIndex - the index to start iterating at.
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.NullPointerException - if array is null
        java.lang.IndexOutOfBoundsException - if the index is invalid
      • ArrayIterator

        public ArrayIterator​(java.lang.Object array,
                             int startIndex,
                             int endIndex)
        Construct an ArrayIterator that will iterate over a range of values in the specified array.
        Parameters:
        array - the array to iterate over.
        startIndex - the index to start iterating at.
        endIndex - the index to finish iterating at.
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.NullPointerException - if array is null
        java.lang.IndexOutOfBoundsException - if either index is invalid
    • Method Detail

      • hasNext

        public boolean hasNext()
        Returns true if there are more elements to return from the array.
        Specified by:
        hasNext in interface java.util.Iterator<E>
        Returns:
        true if there is a next element to return
      • next

        public E next()
        Returns the next element in the array.
        Specified by:
        next in interface java.util.Iterator<E>
        Returns:
        the next element in the array
        Throws:
        java.util.NoSuchElementException - if all the elements in the array have already been returned
      • remove

        public void remove()
        Throws UnsupportedOperationException.
        Specified by:
        remove in interface java.util.Iterator<E>
        Throws:
        java.lang.UnsupportedOperationException - always
      • getArray

        public java.lang.Object getArray()
        Gets the array that this iterator is iterating over.
        Returns:
        the array this iterator iterates over.
      • getStartIndex

        public int getStartIndex()
        Gets the start index to loop from.
        Returns:
        the start index
        Since:
        4.0
      • getEndIndex

        public int getEndIndex()
        Gets the end index to loop to.
        Returns:
        the end index
        Since:
        4.0
      • reset

        public void reset()
        Resets the iterator back to the start index.
        Specified by:
        reset in interface ResettableIterator<E>