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
AnIterator
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 Summary
Fields Modifier and Type Field Description protected Object[]
array
The arrayprotected int
endIndex
The end index to loop toprotected int
index
The current iterator indexprotected int
startIndex
The start index to loop from
-
Constructor Summary
Constructors Constructor Description ObjectArrayIterator()
Constructor for use withsetArray
.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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()
ThrowsUnsupportedOperationException
.void
reset()
Resets the iterator back to the start index.void
setArray(Object[] array)
Sets the array that the ArrayIterator should iterate over.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
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 Detail
-
ObjectArrayIterator
public ObjectArrayIterator()
Constructor for use withsetArray
.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
- ifarray
isnull
-
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 overstart
- the index to start iterating at- Throws:
NullPointerException
- ifarray
isnull
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 overstart
- the index to start iterating atend
- the index (exclusive) to finish iterating at- Throws:
IndexOutOfBoundsException
- if the start or end index is out of boundsIllegalArgumentException
- if end index is before the startNullPointerException
- ifarray
isnull
-
-
Method Detail
-
hasNext
public boolean hasNext()
Returns true if there are more elements to return from the array.
-
next
public Object next()
Returns the next element in the array.- Specified by:
next
in interfaceIterator
- Returns:
- the next element in the array
- Throws:
NoSuchElementException
- if all the elements in the array have already been returned
-
remove
public void remove()
ThrowsUnsupportedOperationException
.- Specified by:
remove
in interfaceIterator
- 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 andsetArray(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 thearray
was set in the constructorNullPointerException
- ifarray
isnull
-
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 interfaceResettableIterator
-
-