Class ObjectArrayIterator

java.lang.Object
org.apache.commons.collections.iterators.ObjectArrayIterator
All Implemented Interfaces:
Iterator, ResettableIterator
Direct Known Subclasses:
ObjectArrayListIterator

public class ObjectArrayIterator extends Object implements Iterator, ResettableIterator
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:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
Author:
James Strachan, Mauricio S. Moura, Michael A. Smith, Neil O'Toole, Stephen Colebourne, Phil Steitz
  • Field Details

    • array

      protected Object[] array
      The array
    • startIndex

      protected int startIndex
      The start index to loop from
    • endIndex

      protected int endIndex
      The end index to loop to
    • index

      protected int index
      The current iterator index
  • Constructor Details

    • ObjectArrayIterator

      public ObjectArrayIterator()
      Constructor for use with setArray.

      Using this constructor, the iterator is equivalent to an empty iterator until setArray(java.lang.Object[]) is called to establish the array to iterate over.

    • ObjectArrayIterator

      public ObjectArrayIterator(Object[] 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(Object[] 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(Object[] 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
      Returns:
      true if there is a next element to return
    • next

      public Object next()
      Returns the next element in the array.
      Specified by:
      next in interface Iterator
      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
      Throws:
      UnsupportedOperationException - always
    • getArray

      public Object[] getArray()
      Gets the array that this iterator is iterating over.
      Returns:
      the array this iterator iterates over, or null if the no-arg constructor was used and setArray(java.lang.Object[]) has never been called with a valid array.
    • setArray

      public void setArray(Object[] array)
      Sets the array that the ArrayIterator should iterate over.

      This method may only be called once, otherwise an IllegalStateException will occur.

      The reset() method can be used to reset the iterator if required.

      Parameters:
      array - the array that the iterator should iterate over
      Throws:
      IllegalStateException - if the array was set in the constructor
      NullPointerException - if array is null
    • 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