org.apache.commons.collections.iterators

Class ArrayIterator

Implemented Interfaces:
Iterator, ResettableIterator
Known Direct Subclasses:
ArrayListIterator

public class ArrayIterator
extends java.lang.Object
implements ResettableIterator

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.

Version:
$Revision: 1.11 $ $Date: 2004/02/18 00:59:50 $
Authors:
James Strachan
Mauricio S. Moura
Michael A. Smith
Neil O'Toole
Stephen Colebourne
Since:
Commons Collections 1.0

Field Summary

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

Constructor Summary

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.

Method Summary

protected void
checkBound(int bound, 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(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()

ArrayIterator

public ArrayIterator(Object array)
Constructs an ArrayIterator that will iterate over the values in the specified array.
Parameters:
array - the array to iterate over.

ArrayIterator

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.

ArrayIterator

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.

Method Details

checkBound

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)

getArray

public Object getArray()
Gets the array that this iterator is iterating over.

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

remove

public void remove()
Throws UnsupportedOperationException.

reset

public void reset()
Resets the iterator back to the start index.
Specified by:
reset in interface ResettableIterator

setArray

public void setArray(Object array)
Parameters:
array - the array that the iterator should iterate over.

Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.