public class

ReverseListIterator

extends Object
implements ResettableListIterator
java.lang.Object
   ↳ org.apache.commons.collections.iterators.ReverseListIterator

Class Overview

Iterates backwards through a List, starting with the last element and continuing to the first. This is useful for looping around a list in reverse order without needing to actually reverse the list.

The first call to next() will return the last element from the list, and so on. The hasNext() method works in concert with the next() method as expected. However, the nextIndex() method returns the correct index in the list, thus it starts high and reduces as the iteration continues. The previous methods work similarly.

Summary

Public Constructors
ReverseListIterator(List list)
Constructor that wraps a list.
Public Methods
void add(Object obj)
Adds a new element to the list between the next and previous elements.
boolean hasNext()
Checks whether there is another element.
boolean hasPrevious()
Checks whether there is a previous element.
Object next()
Gets the next element.
int nextIndex()
Gets the index of the next element.
Object previous()
Gets the previous element.
int previousIndex()
Gets the index of the previous element.
void remove()
Removes the last returned element.
void reset()
Resets the iterator back to the start (which is the end of the list as this is a reversed iterator)
void set(Object obj)
Replaces the last returned element.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.util.Iterator
From interface java.util.ListIterator
From interface org.apache.commons.collections.ResettableIterator
From interface org.apache.commons.collections.ResettableListIterator

Public Constructors

public ReverseListIterator (List list)

Constructor that wraps a list.

Parameters
list the list to create a reversed iterator for
Throws
NullPointerException if the list is null

Public Methods

public void add (Object obj)

Adds a new element to the list between the next and previous elements.

Parameters
obj the object to add
Throws
UnsupportedOperationException if the list is unmodifiable
IllegalStateException if the iterator is not in a valid state for set

public boolean hasNext ()

Checks whether there is another element.

Returns
  • true if there is another element

public boolean hasPrevious ()

Checks whether there is a previous element.

Returns
  • true if there is a previous element

public Object next ()

Gets the next element. The next element is the previous in the list.

Returns
  • the next element in the iterator

public int nextIndex ()

Gets the index of the next element.

Returns
  • the index of the next element in the iterator

public Object previous ()

Gets the previous element. The next element is the previous in the list.

Returns
  • the previous element in the iterator

public int previousIndex ()

Gets the index of the previous element.

Returns
  • the index of the previous element in the iterator

public void remove ()

Removes the last returned element.

Throws
UnsupportedOperationException if the list is unmodifiable
IllegalStateException if there is no element to remove

public void reset ()

Resets the iterator back to the start (which is the end of the list as this is a reversed iterator)

public void set (Object obj)

Replaces the last returned element.

Parameters
obj the object to set
Throws
UnsupportedOperationException if the list is unmodifiable
IllegalStateException if the iterator is not in a valid state for set