Class ObjectArrayIterator<E>

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

    public class ObjectArrayIterator<E>
    extends java.lang.Object
    implements ResettableIterator<E>
    An Iterator over an array of objects.

    This iterator does not support remove(), as the object array cannot be structurally modified.

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

    Since:
    3.0
    • Constructor Summary

      Constructors 
      Constructor Description
      ObjectArrayIterator​(E... array)
      Constructs an ObjectArrayIterator that will iterate over the values in the specified array.
      ObjectArrayIterator​(E[] array, int start)
      Constructs an ObjectArrayIterator that will iterate over the values in the specified array from a specific start index.
      ObjectArrayIterator​(E[] array, int start, int end)
      Construct an ObjectArrayIterator 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
      E[] 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

      • ObjectArrayIterator

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

        public ObjectArrayIterator​(E[] array,
                                   int start)
        Constructs an ObjectArrayIterator that will iterate over the values in the specified array from a specific start index.
        Parameters:
        array - the array to iterate over
        start - the index to start iterating at
        Throws:
        java.lang.NullPointerException - if array is null
        java.lang.IndexOutOfBoundsException - if the start index is out of bounds
      • ObjectArrayIterator

        public ObjectArrayIterator​(E[] array,
                                   int start,
                                   int end)
        Construct an ObjectArrayIterator that will iterate over a range of values in the specified array.
        Parameters:
        array - the array to iterate over
        start - the index to start iterating at
        end - the index (exclusive) to finish iterating at
        Throws:
        java.lang.IndexOutOfBoundsException - if the start or end index is out of bounds
        java.lang.IllegalArgumentException - if end index is before the start
        java.lang.NullPointerException - if array is null
    • 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 E[] 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
      • getEndIndex

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

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