public class

ArrayIterator

extends Object
implements ResettableIterator
java.lang.Object
   ↳ org.apache.commons.collections.iterators.ArrayIterator
Known Direct Subclasses

Class Overview

Implements an java.util.Iterator 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.

Summary

Fields
protected Object array The array to iterate over
protected int endIndex The end index to loop to
protected int index The current iterator index
protected int startIndex The start index to loop from
Public Constructors
ArrayIterator()
Constructor for use with setArray.
ArrayIterator(Object array)
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.
Public Methods
Object getArray()
Gets the array that this iterator is iterating over.
boolean hasNext()
Returns true if there are more elements to return from the array.
Object next()
Returns the next element in the array.
void remove()
void reset()
Resets the iterator back to the start index.
void setArray(Object array)
Sets the array that the ArrayIterator should iterate over.
Protected Methods
void checkBound(int bound, String type)
Checks whether the index is valid or not.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.util.Iterator
From interface org.apache.commons.collections.ResettableIterator

Fields

protected Object array

The array to iterate over

protected int endIndex

The end index to loop to

protected int index

The current iterator index

protected int startIndex

The start index to loop from

Public Constructors

public ArrayIterator ()

Constructor for use with setArray.

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

public ArrayIterator (Object array)

Constructs an ArrayIterator that will iterate over the values in the specified array.

Parameters
array the array to iterate over.
Throws
IllegalArgumentException if array is not an array.
NullPointerException if array is null

public ArrayIterator (Object array, int startIndex)

Constructs an ArrayIterator that will iterate over the values in the specified array from a specific start index.

Parameters
array the array to iterate over.
startIndex the index to start iterating at.
Throws
IllegalArgumentException if array is not an array.
NullPointerException if array is null
IndexOutOfBoundsException if the index is invalid

public ArrayIterator (Object array, int startIndex, int endIndex)

Construct an ArrayIterator that will iterate over a range of values in the specified array.

Parameters
array the array to iterate over.
startIndex the index to start iterating at.
endIndex the index to finish iterating at.
Throws
IllegalArgumentException if array is not an array.
NullPointerException if array is null
IndexOutOfBoundsException if either index is invalid

Public Methods

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(Object) has never been called with a valid array.

public boolean hasNext ()

Returns true if there are more elements to return from the array.

Returns
  • true if there is a next element to return

public Object next ()

Returns the next element in the array.

Returns
  • the next element in the array
Throws
NoSuchElementException if all the elements in the array have already been returned

public void remove ()

public void reset ()

Resets the iterator back to the start index.

public void setArray (Object array)

Sets the array that the ArrayIterator should iterate over.

If an array has previously been set (using the single-arg constructor or this method) then that array is discarded in favour of this one. Iteration is restarted at the start of the new array. Although this can be used to reset iteration, the reset() method is a more effective choice.

Parameters
array the array that the iterator should iterate over.
Throws
IllegalArgumentException if array is not an array.
NullPointerException if array is null

Protected Methods

protected void checkBound (int bound, String type)

Checks whether the index is valid or not.

Parameters
bound the index to check
type the index type (for error messages)
Throws
IndexOutOfBoundsException if the index is invalid