Class ObjectArrayListIterator<E>
java.lang.Object
org.apache.commons.collections4.iterators.ObjectArrayIterator<E>
org.apache.commons.collections4.iterators.ObjectArrayListIterator<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>
public class ObjectArrayListIterator<E>
extends ObjectArrayIterator<E>
implements ResettableListIterator<E>
Implements a
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.
- Since:
- 3.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionObjectArrayListIterator(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) Constructs an ObjectArrayListIterator that will iterate over a range of values in the specified array. -
Method Summary
Modifier and TypeMethodDescriptionvoidThis iterator does not support modification of its backing array's size, and so will always throw anUnsupportedOperationExceptionwhen this method is invoked.booleanReturns true if there are previous elements to return from the array.next()Gets the next element from the array.intGets the next index to be retrieved.previous()Gets the previous element from the array.intGets the index of the item to be retrieved ifprevious()is called.voidreset()Resets the iterator back to the start index.voidSets the element under the cursor.Methods inherited from class org.apache.commons.collections4.iterators.ObjectArrayIterator
getArray, getEndIndex, getStartIndex, hasNext, removeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemainingMethods inherited from interface java.util.ListIterator
hasNext, remove
-
Constructor Details
-
ObjectArrayListIterator
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array.- Parameters:
array- the array to iterate over- Throws:
NullPointerException- ifarrayisnull
-
ObjectArrayListIterator
Constructs an ObjectArrayListIterator that will iterate over the values in the specified array from a specific start index.- Parameters:
array- the array to iterate overstart- the index to start iterating at- Throws:
NullPointerException- ifarrayisnullIndexOutOfBoundsException- if the start index is out of bounds
-
ObjectArrayListIterator
Constructs an ObjectArrayListIterator that will iterate over a range of values in the specified array.- Parameters:
array- the array to iterate overstart- the index to start iterating atend- the index (exclusive) to finish iterating at- Throws:
IndexOutOfBoundsException- if the start or end index is out of boundsIllegalArgumentException- if end index is before the startNullPointerException- ifarrayisnull
-
-
Method Details
-
add
This iterator does not support modification of its backing array's size, and so will always throw anUnsupportedOperationExceptionwhen this method is invoked.- Specified by:
addin interfaceListIterator<E>- Parameters:
obj- the object to add- Throws:
UnsupportedOperationException- always thrown.
-
hasPrevious
Returns true if there are previous elements to return from the array.- Specified by:
hasPreviousin interfaceListIterator<E>- Specified by:
hasPreviousin interfaceOrderedIterator<E>- Returns:
- true if there is a previous element to return
-
next
Gets the next element from the array.- Specified by:
nextin interfaceIterator<E>- Specified by:
nextin interfaceListIterator<E>- Overrides:
nextin classObjectArrayIterator<E>- Returns:
- the next element
- Throws:
NoSuchElementException- if there is no next element
-
nextIndex
Gets the next index to be retrieved.- Specified by:
nextIndexin interfaceListIterator<E>- Returns:
- the index of the item to be retrieved next
-
previous
Gets the previous element from the array.- Specified by:
previousin interfaceListIterator<E>- Specified by:
previousin 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:
previousIndexin interfaceListIterator<E>- Returns:
- the index of the item to be retrieved next
-
reset
Resets the iterator back to the start index.- Specified by:
resetin interfaceResettableIterator<E>- Overrides:
resetin classObjectArrayIterator<E>
-
set
Sets the element under the cursor.This method sets the element that was returned by the last call to
next()ofprevious().Note:
ListIteratorimplementations that supportadd()andremove()only allowset()to be called once per call tonext()orprevious(see theListIteratorJavadoc for more details). Since this implementation does not supportadd()orremove(),set()may be called as often as desired.- Specified by:
setin interfaceListIterator<E>- 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
-