org.apache.commons.collections.iterators
public class ObjectArrayListIterator extends ObjectArrayIterator implements ListIterator, ResettableListIterator
This iterator does not support {@link #add} or {@link #remove}, as the object array cannot be structurally modified. The {@link #set} method is supported however.
The iterator implements a {@link #reset} method, allowing the reset of the iterator back to the start if required.
Since: Commons Collections 3.0
Version: $Revision: 1.13 $ $Date: 2004/02/18 00:59:50 $
See Also: ObjectArrayIterator java.util.Iterator java.util.ListIterator
Field Summary | |
---|---|
protected int | lastItemIndex
Holds the index of the last item returned by a call to next()
or previous() . |
Constructor Summary | |
---|---|
ObjectArrayListIterator()
Constructor for use with setArray .
| |
ObjectArrayListIterator(Object[] array)
Constructs an ObjectArrayListIterator that will iterate over the values in the
specified array.
| |
ObjectArrayListIterator(Object[] array, int start)
Constructs an ObjectArrayListIterator that will iterate over the values in the
specified array from a specific start index.
| |
ObjectArrayListIterator(Object[] array, int start, int end)
Construct an ObjectArrayListIterator that will iterate over a range of values
in the specified array.
|
Method Summary | |
---|---|
void | add(Object obj)
This iterator does not support modification of its backing array's size, and so will
always throw an {@link UnsupportedOperationException} when this method is invoked.
|
boolean | hasPrevious()
Returns true if there are previous elements to return from the array.
|
Object | next()
Gets the next element from the array.
|
int | nextIndex()
Gets the next index to be retrieved.
|
Object | previous()
Gets the previous element from the array.
|
int | previousIndex()
Gets the index of the item to be retrieved if {@link #previous()} is called.
|
void | reset()
Resets the iterator back to the start index. |
void | set(Object obj)
Sets the element under the cursor.
|
next()
or previous()
. This is set to -1
if neither method
has yet been invoked. lastItemIndex
is used to to implement the
{@link #set} method.setArray
.
Using this constructor, the iterator is equivalent to an empty iterator until {@link #setArray} is called to establish the array to iterate over.
Parameters: array the array to iterate over
Throws: NullPointerException if array
is null
Parameters: array the array to iterate over start the index to start iterating at
Throws: NullPointerException if array
is null
IndexOutOfBoundsException if the start index is out of bounds
Parameters: array the array to iterate over start the index to start iterating at end the index (exclusive) to finish iterating at
Throws: IndexOutOfBoundsException if the start or end index is out of bounds IllegalArgumentException if end index is before the start NullPointerException if array
is null
Parameters: obj the object to add
Throws: UnsupportedOperationException always thrown.
Returns: true if there is a previous element to return
Returns: the next element
Throws: NoSuchElementException if there is no next element
Returns: the index of the item to be retrieved next
Returns: the previous element
Throws: NoSuchElementException if there is no previous element
Returns: the index of the item to be retrieved next
This method sets the element that was returned by the last call
to {@link #next()} of {@link #previous()}.
Note: {@link ListIterator} implementations that support add()
and remove()
only allow set()
to be called once per call
to next()
or previous
(see the {@link ListIterator}
javadoc for more details). Since this implementation does not support
add()
or remove()
, set()
may be
called as often as desired.
Parameters: obj the object to set into the array
Throws: IllegalStateException if next() has not yet been called. ClassCastException if the object type is unsuitable for the array