⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.iterators

Class ArrayIterator

java.lang.Object
|
+--org.apache.commons.collections.iterators.ArrayIterator

All Implemented Interfaces:
ResettableIterator

Known Direct Subclasses:
ArrayListIterator


public class ArrayIterator
extends java.lang.Object
implements ResettableIterator

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 org.apache.commons.collections.iterators.ObjectArrayIterator 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:
Commons Collections 1.0
Authors:
James Strachan
Mauricio S. Moura
Michael A. Smith
Neil O'Toole
Stephen Colebourne

Field Summary

Object

array

The array to iterate over

int

endIndex

The end index to loop to

int

index

The current iterator index

int

startIndex

The start index to loop from

Constructor Summary

ArrayIterator()

Constructor for use with setArray.

ArrayIterator(final Object array)

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

ArrayIterator(final Object array, final int startIndex)

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

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

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

Method Summary

void

checkBound(final int bound, final String type)

Checks whether the index is valid or not.

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()

Throws UnsupportedOperationException.

void

reset()

Resets the iterator back to the start index.

void

setArray(final Object array)

Sets the array that the ArrayIterator should iterate over.

Field Details

array

protected Object array

The array to iterate over


endIndex

protected int endIndex

The end index to loop to


index

protected int index

The current iterator index


startIndex

protected int startIndex

The start index to loop from

Constructor Details

ArrayIterator

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.


ArrayIterator

public ArrayIterator(final Object array, final int startIndex, final 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:
- if array is not an array.
- if array is null
- if either index is invalid

ArrayIterator

public ArrayIterator(final Object array, final 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:
- if array is not an array.
- if array is null
- if the index is invalid

ArrayIterator

public ArrayIterator(final Object array)

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

Parameters:
array - the array to iterate over.
Throws:
- if array is not an array.
- if array is null

Method Details

checkBound

protected void checkBound(final int bound, final String type)

Checks whether the index is valid or not.

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

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 {@link #setArray(Object)} has never been called with a valid array.

hasNext

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

next

public Object next()

Returns the next element in the array.

Returns:
the next element in the array
Throws:
- if all the elements in the array have already been returned

remove

public void remove()

Throws UnsupportedOperationException.

Throws:
- always

reset

public void reset()

Resets the iterator back to the start index.


setArray

public void setArray(final Object array)

Parameters:
array - the array that the iterator should iterate over.
Throws:
- if array is not an array.
- if array is null