public class ArrayIterator extends Object implements ResettableIterator
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.
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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.
|
protected Object array
protected int startIndex
protected int endIndex
protected int index
public ArrayIterator()
setArray
.
Using this constructor, the iterator is equivalent to an empty iterator
until setArray(Object)
is called to establish the array to iterate over.
public ArrayIterator(Object array)
array
- the array to iterate over.IllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
public ArrayIterator(Object array, int startIndex)
array
- the array to iterate over.startIndex
- the index to start iterating at.IllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
IndexOutOfBoundsException
- if the index is invalidpublic ArrayIterator(Object array, int startIndex, int endIndex)
array
- the array to iterate over.startIndex
- the index to start iterating at.endIndex
- the index to finish iterating at.IllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
IndexOutOfBoundsException
- if either index is invalidprotected void checkBound(int bound, String type)
bound
- the index to checktype
- the index type (for error messages)IndexOutOfBoundsException
- if the index is invalidpublic boolean hasNext()
public Object next()
next
in interface Iterator
NoSuchElementException
- if all the elements in the array
have already been returnedpublic void remove()
UnsupportedOperationException
.remove
in interface Iterator
UnsupportedOperationException
- alwayspublic Object getArray()
null
if
the no-arg constructor was used and setArray(Object)
has never
been called with a valid array.public void setArray(Object array)
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.
array
- the array that the iterator should iterate over.IllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
public void reset()
reset
in interface ResettableIterator
Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.