Class ObjectArrayIterator<E>

java.lang.Object
org.apache.logging.log4j.core.util.ObjectArrayIterator<E>
Type Parameters:
E - the type to iterate over
All Implemented Interfaces:
Iterator<E>

public class ObjectArrayIterator<E> extends Object implements Iterator<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
Version:
$Id: ObjectArrayIterator.java 1734648 2016-03-11 23:51:22Z ggregory $
  • Constructor Details

    • ObjectArrayIterator

      @SafeVarargs 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 Details

    • 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
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<E>
      Throws:
      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.