⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.iterators

Class ArrayListIterator

java.lang.Object
|
+--org.apache.commons.collections.iterators.ArrayIterator
   |
   +--org.apache.commons.collections.iterators.ArrayListIterator

All Implemented Interfaces:
ListIterator, ResettableIterator, ResettableListIterator


public class ArrayListIterator
extends ArrayIterator
implements ListIterator, ResettableListIterator

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 remove(), as the array cannot be changed in size. The set(Object) method is supported however.

Since:
Commons Collections 3.0
Authors:
Neil O'Toole
Stephen Colebourne
Phil Steitz
See Also:
org.apache.commons.collections.iterators.ArrayIterator
java.util.Iterator
java.util.ListIterator

Field Summary

int

lastItemIndex

Holds the index of the last item returned by a call to next() or previous().

Constructor Summary

ArrayListIterator()

Constructor for use with setArray.

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

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.

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 if #previous() is called.

void

reset()

Resets the iterator back to the start index.

void

set(Object o)

Sets the element under the cursor.

Field Details

lastItemIndex

protected int lastItemIndex

Holds the index of the last item returned by a call to next() or previous(). This is set to -1 if neither method has yet been invoked. lastItemIndex is used to to implement the set method.

Constructor Details

ArrayListIterator

public ArrayListIterator()

Constructor for use with setArray.

Using this constructor, the iterator is equivalent to an empty iterator until setArray(Object) is called to establish the array to iterate over.


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 over
startIndex - the index to start iterating at
endIndex - the index (exclusive) to finish iterating at
Throws:
- if array is not an array.
- if the start or end index is out of bounds
- if end index is before the start
- if array is null

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 over
startIndex - the index to start iterating at
Throws:
- if array is not an array.
- if array is null
- if the start index is out of bounds

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:
- if array is not an array.
- if array is null

Method Details

add

public 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.

Parameters:
o
Throws:
- always thrown.
See Also:
java.util.ListIterator.set

hasPrevious

public boolean hasPrevious()

Returns true if there are previous elements to return from the array.

Returns:
true if there is a previous element to return

next

public Object next()

Gets the next element from the array.

Returns:
the next element
Throws:
- if there is no next element

nextIndex

public int nextIndex()

Gets the next index to be retrieved.

Returns:
the index of the item to be retrieved next

previous

public Object previous()

Gets the previous element from the array.

Returns:
the previous element
Throws:
- if there is no previous element

previousIndex

public int previousIndex()

Returns:
the index of the item to be retrieved next

reset

public void reset()

Resets the iterator back to the start index.


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() 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.

Parameters:
o
See Also:
java.util.ListIterator.set