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

Class ObjectArrayIterator

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

All Implemented Interfaces:
Iterator, ResettableIterator

Known Direct Subclasses:
ObjectArrayListIterator


public class ObjectArrayIterator
extends java.lang.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
Authors:
James Strachan
Mauricio S. Moura
Michael A. Smith
Neil O'Toole
Stephen Colebourne
Phil Steitz

Field Summary

Object[]

array

The array

int

endIndex

The end index to loop to

int

index

The current iterator index

int

startIndex

The start index to loop from

Constructor Summary

ObjectArrayIterator()

Constructor for use with setArray.

ObjectArrayIterator(Object[] array)

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

ObjectArrayIterator(Object[] array, int start)

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

ObjectArrayIterator(Object[] array, int start, int end)

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

Method Summary

Object[]

getArray()

Gets the array that this iterator is iterating over.

int

getEndIndex()

Gets the end index to loop to.

int

getStartIndex()

Gets the start index to loop from.

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(Object[] array)

Sets the array that the ArrayIterator should iterate over.

Field Details

array

protected Object[] array

The array


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

ObjectArrayIterator

public ObjectArrayIterator()

Constructor for use with setArray.

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


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:
- if the start or end index is out of bounds
- if end index is before the start
- 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:
- if array is null
- if the start index is out of bounds

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:
- if array is null

Method Details

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

getEndIndex

public int getEndIndex()

Gets the end index to loop to.

Returns:
the end index

getStartIndex

public int getStartIndex()

Gets the start index to loop from.

Returns:
the start index

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(Object[] array)

Parameters:
array - the array that the iterator should iterate over
Throws:
- if the array was set in the constructor
- if array is null