Class ArrayListIterator<E>
java.lang.Object
org.apache.commons.collections4.iterators.ArrayIterator<E>
org.apache.commons.collections4.iterators.ArrayListIterator<E>
- Type Parameters:
E
- the type of elements returned by this iterator.
- All Implemented Interfaces:
Iterator<E>
,ListIterator<E>
,OrderedIterator<E>
,ResettableIterator<E>
,ResettableListIterator<E>
Implements a
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.
- Since:
- 3.0
- See Also:
-
Constructor Summary
ConstructorDescriptionArrayListIterator
(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) Constructs an ArrayListIterator that will iterate over a range of values in the specified array. -
Method Summary
Modifier and TypeMethodDescriptionvoid
This iterator does not support modification of its backing collection, and so will always throw anUnsupportedOperationException
when this method is invoked.boolean
Returns true if there are previous elements to return from the array.next()
Gets the next element from the array.int
Gets the next index to be retrieved.previous()
Gets the previous element from the array.int
Gets the index of the item to be retrieved ifprevious()
is called.void
reset()
Resets the iterator back to the start index.void
Sets the element under the cursor.Methods inherited from class org.apache.commons.collections4.iterators.ArrayIterator
checkBound, getArray, getEndIndex, getStartIndex, hasNext, remove
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
Methods inherited from interface java.util.ListIterator
hasNext, remove
-
Constructor Details
-
ArrayListIterator
Constructs an ArrayListIterator that will iterate over the values in the specified array.- Parameters:
array
- the array to iterate over- Throws:
IllegalArgumentException
- ifarray
is not an array.NullPointerException
- ifarray
isnull
-
ArrayListIterator
Constructs an ArrayListIterator that will iterate over the values in the specified array from a specific start index.- Parameters:
array
- the array to iterate overstartIndex
- the index to start iterating at- Throws:
IllegalArgumentException
- ifarray
is not an array.NullPointerException
- ifarray
isnull
IndexOutOfBoundsException
- if the start index is out of bounds
-
ArrayListIterator
Constructs an ArrayListIterator that will iterate over a range of values in the specified array.- Parameters:
array
- the array to iterate overstartIndex
- the index to start iterating atendIndex
- the index (exclusive) to finish iterating at- Throws:
IllegalArgumentException
- ifarray
is not an array.IndexOutOfBoundsException
- if the start or end index is out of boundsIllegalArgumentException
- if end index is before the startNullPointerException
- ifarray
isnull
-
-
Method Details
-
add
This iterator does not support modification of its backing collection, and so will always throw anUnsupportedOperationException
when this method is invoked.- Specified by:
add
in interfaceListIterator<E>
- Parameters:
o
- the element to add- Throws:
UnsupportedOperationException
- always thrown.- See Also:
-
hasPrevious
Returns true if there are previous elements to return from the array.- Specified by:
hasPrevious
in interfaceListIterator<E>
- Specified by:
hasPrevious
in interfaceOrderedIterator<E>
- Returns:
- true if there is a previous element to return
-
next
Gets the next element from the array.- Specified by:
next
in interfaceIterator<E>
- Specified by:
next
in interfaceListIterator<E>
- Overrides:
next
in classArrayIterator<E>
- Returns:
- the next element
- Throws:
NoSuchElementException
- if there is no next element
-
nextIndex
Gets the next index to be retrieved.- Specified by:
nextIndex
in interfaceListIterator<E>
- Returns:
- the index of the item to be retrieved next
-
previous
Gets the previous element from the array.- Specified by:
previous
in interfaceListIterator<E>
- Specified by:
previous
in interfaceOrderedIterator<E>
- Returns:
- the previous element
- Throws:
NoSuchElementException
- if there is no previous element
-
previousIndex
Gets the index of the item to be retrieved ifprevious()
is called.- Specified by:
previousIndex
in interfaceListIterator<E>
- Returns:
- the index of the item to be retrieved next
-
reset
Resets the iterator back to the start index.- Specified by:
reset
in interfaceResettableIterator<E>
- Overrides:
reset
in classArrayIterator<E>
-
set
Sets the element under the cursor.This method sets the element that was returned by the last call to
next()
ofprevious()
.Note:
ListIterator
implementations that supportadd()
andremove()
only allowset()
to be called once per call tonext()
orprevious
(see theListIterator
Javadoc for more details). Since this implementation does not supportadd()
orremove()
,set()
may be called as often as desired.- Specified by:
set
in interfaceListIterator<E>
- Parameters:
o
- the element to set- Throws:
IllegalStateException
- ifnext()
orprevious()
has not been called beforeset(Object)
- See Also:
-