org.apache.commons.collections.iterators

Class ArrayListIterator

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

Since: Commons Collections 3.0

Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $

Author: Neil O'Toole Stephen Colebourne Phil Steitz

See Also: ArrayIterator java.util.Iterator java.util.ListIterator

Field Summary
protected intlastItemIndex
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
voidadd(Object o)
This iterator does not support modification of its backing collection, and so will always throw an UnsupportedOperationException when this method is invoked.
booleanhasPrevious()
Returns true if there are previous elements to return from the array.
Objectnext()
Gets the next element from the array.
intnextIndex()
Gets the next index to be retrieved.
Objectprevious()
Gets the previous element from the array.
intpreviousIndex()
Gets the index of the item to be retrieved if previous is called.
voidreset()
Resets the iterator back to the start index.
voidset(Object o)
Sets the element under the cursor.

Field Detail

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 ArrayListIterator method.

Constructor Detail

ArrayListIterator

public ArrayListIterator()
Constructor for use with setArray.

Using this constructor, the iterator is equivalent to an empty iterator until ArrayListIterator 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 if array is not an array. NullPointerException 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: IllegalArgumentException if array is not an array. NullPointerException if array is null 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 over startIndex the index to start iterating at endIndex the index (exclusive) to finish iterating at

Throws: IllegalArgumentException if array is not an array. IndexOutOfBoundsException if the start or end index is out of bounds IllegalArgumentException if end index is before the start NullPointerException if array is null

Method Detail

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.

Throws: UnsupportedOperationException 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: NoSuchElementException 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: NoSuchElementException if there is no previous element

previousIndex

public int previousIndex()
Gets the index of the item to be retrieved if previous is called.

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.

See Also: java.util.ListIterator#set

Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.