Class ArrayIterator
java.lang.Object
org.apache.commons.collections.iterators.ArrayIterator
- All Implemented Interfaces:
Iterator,ResettableIterator
- Direct Known Subclasses:
ArrayListIterator
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.
- Since:
- Commons Collections 1.0
- Version:
- $Revision: 647116 $ $Date: 2008-04-11 13:23:08 +0200 (Fri, 11 Apr 2008) $
- Author:
- James Strachan, Mauricio S. Moura, Michael A. Smith, Neil O'Toole, Stephen Colebourne
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ObjectThe array to iterate overprotected intThe end index to loop toprotected intThe current iterator indexprotected intThe start index to loop from -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for use withsetArray.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
Modifier and TypeMethodDescriptionprotected voidcheckBound(int bound, String type) Checks whether the index is valid or not.getArray()Gets the array that this iterator is iterating over.booleanhasNext()Returns true if there are more elements to return from the array.next()Returns the next element in the array.voidremove()ThrowsUnsupportedOperationException.voidreset()Resets the iterator back to the start index.voidSets 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, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
array
The array to iterate over -
startIndex
protected int startIndexThe start index to loop from -
endIndex
protected int endIndexThe end index to loop to -
index
protected int indexThe current iterator index
-
-
Constructor Details
-
ArrayIterator
public ArrayIterator()Constructor for use withsetArray.Using this constructor, the iterator is equivalent to an empty iterator until
setArray(Object)is called to establish the array to iterate over. -
ArrayIterator
Constructs an ArrayIterator that will iterate over the values in the specified array.- Parameters:
array- the array to iterate over.- Throws:
IllegalArgumentException- ifarrayis not an array.NullPointerException- ifarrayisnull
-
ArrayIterator
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- ifarrayis not an array.NullPointerException- ifarrayisnullIndexOutOfBoundsException- if the index is invalid
-
ArrayIterator
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- ifarrayis not an array.NullPointerException- ifarrayisnullIndexOutOfBoundsException- if either index is invalid
-
-
Method Details
-
checkBound
Checks whether the index is valid or not.- Parameters:
bound- the index to checktype- the index type (for error messages)- Throws:
IndexOutOfBoundsException- if the index is invalid
-
hasNext
public boolean hasNext()Returns true if there are more elements to return from the array. -
next
Returns the next element in the array.- Specified by:
nextin 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:
removein interfaceIterator- Throws:
UnsupportedOperationException- always
-
getArray
Gets the array that this iterator is iterating over.- Returns:
- the array this iterator iterates over, or
nullif the no-arg constructor was used andsetArray(Object)has never been called with a valid array.
-
setArray
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- ifarrayis not an array.NullPointerException- ifarrayisnull
-
reset
public void reset()Resets the iterator back to the start index.- Specified by:
resetin interfaceResettableIterator
-