public class ArrayListIterator<E> extends ArrayIterator<E> implements ResettableListIterator<E>
ListIterator
over an array.
The array can be either an array of object or of primitives. If you know
that you have an object array, the ObjectArrayListIterator
class is a better choice, as it will perform better.
This iterator does not support add(Object)
or ArrayIterator.remove()
, as the array
cannot be changed in size. The set(Object)
method is supported however.
ArrayIterator
,
Iterator
,
ListIterator
Constructor and Description |
---|
ArrayListIterator(Object array)
Constructs an ArrayListIterator that will iterate over the values in the
specified array.
|
ArrayListIterator(Object array,
int startIndex)
Constructs an ArrayListIterator that will iterate over the values in the
specified array from a specific start index.
|
ArrayListIterator(Object array,
int startIndex,
int endIndex)
Construct an ArrayListIterator that will iterate over a range of values
in the specified array.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Object o)
This iterator does not support modification of its backing collection, 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(Object o)
Sets the element under the cursor.
|
checkBound, getArray, getEndIndex, getStartIndex, hasNext, remove
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
hasNext, remove
public ArrayListIterator(Object array)
array
- the array to iterate overIllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
public ArrayListIterator(Object array, int startIndex)
array
- the array to iterate overstartIndex
- the index to start iterating atIllegalArgumentException
- if array
is not an array.NullPointerException
- if array
is null
IndexOutOfBoundsException
- if the start index is out of boundspublic ArrayListIterator(Object array, int startIndex, int endIndex)
array
- the array to iterate overstartIndex
- the index to start iterating atendIndex
- the index (exclusive) to finish iterating atIllegalArgumentException
- if array
is not an array.IndexOutOfBoundsException
- 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<E>
hasPrevious
in interface OrderedIterator<E>
public E previous()
previous
in interface ListIterator<E>
previous
in interface OrderedIterator<E>
NoSuchElementException
- if there is no previous elementpublic E next()
next
in interface Iterator<E>
next
in interface ListIterator<E>
next
in class ArrayIterator<E>
NoSuchElementException
- if there is no next elementpublic int nextIndex()
nextIndex
in interface ListIterator<E>
public int previousIndex()
previous()
is called.previousIndex
in interface ListIterator<E>
public void add(Object o)
UnsupportedOperationException
when this method is invoked.add
in interface ListIterator<E>
o
- the element to addUnsupportedOperationException
- always thrown.ListIterator.set(E)
public void set(Object o)
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<E>
o
- the element to setIllegalStateException
- if next()
or previous()
has not been called
before set(Object)
ListIterator.set(E)
public void reset()
reset
in interface ResettableIterator<E>
reset
in class ArrayIterator<E>
Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.