Class ArrayListIterator
- All Implemented Interfaces:
Iterator,ListIterator,ResettableIterator,ResettableListIterator
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:
- Commons Collections 3.0
- Version:
- $Revision: 647116 $ $Date: 2008-04-11 13:23:08 +0200 (Fri, 11 Apr 2008) $
- Author:
- Neil O'Toole, Stephen Colebourne, Phil Steitz
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intHolds the index of the last item returned by a call tonext()orprevious().Fields inherited from class org.apache.commons.collections.iterators.ArrayIterator
array, endIndex, index, startIndex -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for use withsetArray.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. -
Method Summary
Modifier and TypeMethodDescriptionvoidThis iterator does not support modification of its backing collection, 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.collections.iterators.ArrayIterator
checkBound, getArray, hasNext, remove, setArrayMethods 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
-
Field Details
-
lastItemIndex
protected int lastItemIndexHolds the index of the last item returned by a call tonext()orprevious(). This is set to-1if neither method has yet been invoked.lastItemIndexis used to to implement theset(java.lang.Object)method.
-
-
Constructor Details
-
ArrayListIterator
public ArrayListIterator()Constructor for use withsetArray.Using this constructor, the iterator is equivalent to an empty iterator until
ArrayIterator.setArray(Object)is called to establish the array to iterate over. -
ArrayListIterator
Constructs an ArrayListIterator that will iterate over the values in the specified array.- Parameters:
array- the array to iterate over- Throws:
IllegalArgumentException- ifarrayis not an array.NullPointerException- ifarrayisnull
-
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- ifarrayis not an array.NullPointerException- ifarrayisnullIndexOutOfBoundsException- if the start index is out of bounds
-
ArrayListIterator
Construct 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- ifarrayis not an array.IndexOutOfBoundsException- if the start or end index is out of boundsIllegalArgumentException- if end index is before the startNullPointerException- ifarrayisnull
-
-
Method Details
-
hasPrevious
public boolean hasPrevious()Returns true if there are previous elements to return from the array.- Specified by:
hasPreviousin interfaceListIterator- Returns:
- true if there is a previous element to return
-
previous
Gets the previous element from the array.- Specified by:
previousin interfaceListIterator- Returns:
- the previous element
- Throws:
NoSuchElementException- if there is no previous element
-
next
Gets the next element from the array.- Specified by:
nextin interfaceIterator- Specified by:
nextin interfaceListIterator- Overrides:
nextin classArrayIterator- Returns:
- the next element
- Throws:
NoSuchElementException- if there is no next element
-
nextIndex
public int nextIndex()Gets the next index to be retrieved.- Specified by:
nextIndexin interfaceListIterator- Returns:
- the index of the item to be retrieved next
-
previousIndex
public int previousIndex()Gets the index of the item to be retrieved ifprevious()is called.- Specified by:
previousIndexin interfaceListIterator- Returns:
- the index of the item to be retrieved next
-
add
This iterator does not support modification of its backing collection, and so will always throw anUnsupportedOperationExceptionwhen this method is invoked.- Specified by:
addin interfaceListIterator- Throws:
UnsupportedOperationException- always thrown.- See Also:
-
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- See Also:
-
reset
public void reset()Resets the iterator back to the start index.- Specified by:
resetin interfaceResettableIterator- Specified by:
resetin interfaceResettableListIterator- Overrides:
resetin classArrayIterator
-