public class ObjectArrayListIterator<E> extends ObjectArrayIterator<E> implements ResettableListIterator<E>
ListIterator
over an array of objects.
This iterator does not support add(E)
or ObjectArrayIterator.remove()
, as the object array
cannot be structurally modified. The set(E)
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
Constructor and Description |
---|
ObjectArrayListIterator(E... array)
Constructs an ObjectArrayListIterator that will iterate over the values in the
specified array.
|
ObjectArrayListIterator(E[] array,
int start)
Constructs an ObjectArrayListIterator that will iterate over the values in the
specified array from a specific start index.
|
ObjectArrayListIterator(E[] 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(E 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.
|
E |
next()
Gets the next element from the array.
|
int |
nextIndex()
Gets the next index to be retrieved.
|
E |
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(E obj)
Sets the element under the cursor.
|
getArray, getEndIndex, getStartIndex, hasNext, remove
public ObjectArrayListIterator(E... array)
array
- the array to iterate overjava.lang.NullPointerException
- if array
is null
public ObjectArrayListIterator(E[] array, int start)
array
- the array to iterate overstart
- the index to start iterating atjava.lang.NullPointerException
- if array
is null
java.lang.IndexOutOfBoundsException
- if the start index is out of boundspublic ObjectArrayListIterator(E[] array, int start, int end)
array
- the array to iterate overstart
- the index to start iterating atend
- the index (exclusive) to finish iterating atjava.lang.IndexOutOfBoundsException
- if the start or end index is out of boundsjava.lang.IllegalArgumentException
- if end index is before the startjava.lang.NullPointerException
- if array
is null
public boolean hasPrevious()
hasPrevious
in interface java.util.ListIterator<E>
hasPrevious
in interface OrderedIterator<E>
public E previous()
previous
in interface java.util.ListIterator<E>
previous
in interface OrderedIterator<E>
java.util.NoSuchElementException
- if there is no previous elementpublic E next()
next
in interface java.util.Iterator<E>
next
in interface java.util.ListIterator<E>
next
in class ObjectArrayIterator<E>
java.util.NoSuchElementException
- if there is no next elementpublic int nextIndex()
nextIndex
in interface java.util.ListIterator<E>
public int previousIndex()
previous()
is called.previousIndex
in interface java.util.ListIterator<E>
public void add(E obj)
UnsupportedOperationException
when this method is invoked.add
in interface java.util.ListIterator<E>
obj
- the object to addjava.lang.UnsupportedOperationException
- always thrown.public void set(E 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 java.util.ListIterator<E>
obj
- the object to set into the arrayjava.lang.IllegalStateException
- if next() has not yet been called.java.lang.ClassCastException
- if the object type is unsuitable for the arraypublic void reset()
reset
in interface ResettableIterator<E>
reset
in class ObjectArrayIterator<E>
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"