Class ArrayListIterator
- java.lang.Object
-
- org.apache.commons.collections.iterators.ArrayIterator
-
- org.apache.commons.collections.iterators.ArrayListIterator
-
- All Implemented Interfaces:
Iterator
,ListIterator
,ResettableIterator
,ResettableListIterator
public class ArrayListIterator extends ArrayIterator implements ListIterator, ResettableListIterator
Implements aListIterator
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)
orArrayIterator.remove()
, as the array cannot be changed in size. Theset(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:
ArrayIterator
,Iterator
,ListIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected int
lastItemIndex
Holds 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
Constructors Constructor Description ArrayListIterator()
Constructor 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Object o)
This iterator does not support modification of its backing collection, and so will always throw anUnsupportedOperationException
when this method is invoked.boolean
hasPrevious()
Returns true if there are previous elements to return from the array.Object
next()
Gets the next element from the array.int
nextIndex()
Gets the next index to be retrieved.Object
previous()
Gets the previous element from the array.int
previousIndex()
Gets the index of the item to be retrieved ifprevious()
is called.void
reset()
Resets the iterator back to the start index.void
set(Object o)
Sets the element under the cursor.-
Methods inherited from class org.apache.commons.collections.iterators.ArrayIterator
checkBound, getArray, hasNext, remove, setArray
-
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
-
-
-
-
Field Detail
-
lastItemIndex
protected int lastItemIndex
Holds the index of the last item returned by a call tonext()
orprevious()
. This is set to-1
if neither method has yet been invoked.lastItemIndex
is used to to implement theset(java.lang.Object)
method.
-
-
Constructor Detail
-
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
public ArrayListIterator(Object array)
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
public ArrayListIterator(Object array, int startIndex)
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
public ArrayListIterator(Object array, int startIndex, int endIndex)
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
- 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 Detail
-
hasPrevious
public boolean hasPrevious()
Returns true if there are previous elements to return from the array.- Specified by:
hasPrevious
in interfaceListIterator
- Returns:
- true if there is a previous element to return
-
previous
public Object previous()
Gets the previous element from the array.- Specified by:
previous
in interfaceListIterator
- Returns:
- the previous element
- Throws:
NoSuchElementException
- if there is no previous element
-
next
public Object next()
Gets the next element from the array.- Specified by:
next
in interfaceIterator
- Specified by:
next
in interfaceListIterator
- Overrides:
next
in 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:
nextIndex
in 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:
previousIndex
in interfaceListIterator
- Returns:
- the index of the item to be retrieved next
-
add
public void add(Object o)
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
- Throws:
UnsupportedOperationException
- always thrown.- See Also:
ListIterator.set(E)
-
set
public void set(Object o)
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
- See Also:
ListIterator.set(E)
-
reset
public void reset()
Resets the iterator back to the start index.- Specified by:
reset
in interfaceResettableIterator
- Specified by:
reset
in interfaceResettableListIterator
- Overrides:
reset
in classArrayIterator
-
-