public class ObjectArrayListIterator extends ObjectArrayIterator implements ListIterator, ResettableListIterator
ListIterator
over an array of objects.
This iterator does not support add(java.lang.Object)
or ObjectArrayIterator.remove()
, as the object array
cannot be structurally modified. The set(java.lang.Object)
method is supported however.
The iterator implements a reset()
method, allowing the reset of the iterator
back to the start if required.
ObjectArrayIterator
,
Iterator
,
ListIterator
Modifier and Type | Field and Description |
---|---|
protected int |
lastItemIndex
Holds the index of the last item returned by a call to
next()
or previous() . |
array, endIndex, index, startIndex
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Object obj)
This iterator does not support modification of its backing array's size, and so will
always throw an
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
previous() is called. |
void |
reset()
Resets the iterator back to the start index.
|
void |
set(Object obj)
Sets the element under the cursor.
|
getArray, getEndIndex, getStartIndex, hasNext, remove, setArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
hasNext, remove
protected int lastItemIndex
next()
or previous()
. This is set to -1
if neither method
has yet been invoked. lastItemIndex
is used to to implement the
set(java.lang.Object)
method.public ObjectArrayListIterator()
setArray
.
Using this constructor, the iterator is equivalent to an empty iterator
until ObjectArrayIterator.setArray(java.lang.Object[])
is called to establish the array to iterate over.
public ObjectArrayListIterator(Object[] array)
array
- the array to iterate overNullPointerException
- if array
is null
public ObjectArrayListIterator(Object[] array, int start)
array
- the array to iterate overstart
- the index to start iterating atNullPointerException
- if array
is null
IndexOutOfBoundsException
- if the start index is out of boundspublic ObjectArrayListIterator(Object[] array, int start, int end)
array
- the array to iterate overstart
- the index to start iterating atend
- the index (exclusive) to finish iterating atIndexOutOfBoundsException
- if the start or end index is out of boundsIllegalArgumentException
- if end index is before the startNullPointerException
- if array
is null
public boolean hasPrevious()
hasPrevious
in interface ListIterator
public Object previous()
previous
in interface ListIterator
NoSuchElementException
- if there is no previous elementpublic Object next()
next
in interface Iterator
next
in interface ListIterator
next
in class ObjectArrayIterator
NoSuchElementException
- if there is no next elementpublic int nextIndex()
nextIndex
in interface ListIterator
public int previousIndex()
previous()
is called.previousIndex
in interface ListIterator
public void add(Object obj)
UnsupportedOperationException
when this method is invoked.add
in interface ListIterator
obj
- the object to addUnsupportedOperationException
- always thrown.public void set(Object obj)
This method sets the element that was returned by the last call
to next()
of previous()
.
Note: ListIterator
implementations that support add()
and remove()
only allow set()
to be called once per call
to next()
or previous
(see the ListIterator
javadoc for more details). Since this implementation does not support
add()
or remove()
, set()
may be
called as often as desired.
set
in interface ListIterator
obj
- the object to set into the arrayIllegalStateException
- if next() has not yet been called.ClassCastException
- if the object type is unsuitable for the arraypublic void reset()
reset
in interface ResettableIterator
reset
in interface ResettableListIterator
reset
in class ObjectArrayIterator
Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.