Class ArrayIterator<E>

java.lang.Object
org.apache.commons.collections4.iterators.ArrayIterator<E>
Type Parameters:
E - the type of elements returned by this iterator
All Implemented Interfaces:
Iterator<E>, ResettableIterator<E>
Direct Known Subclasses:
ArrayListIterator

public class ArrayIterator<E> extends 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
    Constructs an ArrayIterator that will iterate over the values in the specified array.
    ArrayIterator(Object array, int startIndex)
    Constructs an ArrayIterator that will iterate over the values in the specified array from a specific start index.
    ArrayIterator(Object array, int startIndex, int endIndex)
    Construct an ArrayIterator that will iterate over a range of values in the specified array.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    checkBound(int bound, int len, String type)
    Checks whether the index is valid or not.
    Gets the array that this iterator is iterating over.
    int
    Gets the end index to loop to.
    int
    Gets the start index to loop from.
    boolean
    Returns true if there are more elements to return from the array.
    Returns the next element in the array.
    void
    void
    Resets the iterator back to the start index.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • checkBound

      protected void checkBound(int bound, int len, String type)
      Checks whether the index is valid or not.
      Parameters:
      bound - the index to check
      len - the length of the array
      type - the index type (for error messages)
      Throws:
      IndexOutOfBoundsException - if the index is invalid
    • 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 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>