Class ObjectArrayIterator<E>

  • Type Parameters:
    E - the type to iterate over
    All Implemented Interfaces:
    Iterator<E>, ResettableIterator<E>
    Direct Known Subclasses:
    ObjectArrayListIterator

    public class ObjectArrayIterator<E>
    extends 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 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:
        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:
        NullPointerException - if array is null
        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:
        IndexOutOfBoundsException - if the start or end index is out of bounds
        IllegalArgumentException - if end index is before the start
        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 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 Iterator<E>
        Returns:
        the next element in the array
        Throws:
        NoSuchElementException - if all the elements in the array have already been returned
      • 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>