Class ReverseListIterator
java.lang.Object
org.apache.commons.collections.iterators.ReverseListIterator
- All Implemented Interfaces:
Iterator,ListIterator,ResettableIterator,ResettableListIterator
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.
- Since:
- Commons Collections 3.2
- Version:
- $Revision: $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- Author:
- Serge Knystautas, Stephen Colebourne
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a new element to the list between the next and previous elements.booleanhasNext()Checks whether there is another element.booleanChecks whether there is a previous element.next()Gets the next element.intGets the index of the next element.previous()Gets the previous element.intGets the index of the previous element.voidremove()Removes the last returned element.voidreset()Resets the iterator back to the start (which is the end of the list as this is a reversed iterator)voidReplaces the last returned element.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
ReverseListIterator
Constructor that wraps a list.- Parameters:
list- the list to create a reversed iterator for- Throws:
NullPointerException- if the list is null
-
-
Method Details
-
hasNext
public boolean hasNext()Checks whether there is another element.- Specified by:
hasNextin interfaceIterator- Specified by:
hasNextin interfaceListIterator- Returns:
- true if there is another element
-
next
Gets the next element. The next element is the previous in the list.- Specified by:
nextin interfaceIterator- Specified by:
nextin interfaceListIterator- Returns:
- the next element in the iterator
-
nextIndex
public int nextIndex()Gets the index of the next element.- Specified by:
nextIndexin interfaceListIterator- Returns:
- the index of the next element in the iterator
-
hasPrevious
public boolean hasPrevious()Checks whether there is a previous element.- Specified by:
hasPreviousin interfaceListIterator- Returns:
- true if there is a previous element
-
previous
Gets the previous element. The next element is the previous in the list.- Specified by:
previousin interfaceListIterator- Returns:
- the previous element in the iterator
-
previousIndex
public int previousIndex()Gets the index of the previous element.- Specified by:
previousIndexin interfaceListIterator- Returns:
- the index of the previous element in the iterator
-
remove
public void remove()Removes the last returned element.- Specified by:
removein interfaceIterator- Specified by:
removein interfaceListIterator- Throws:
UnsupportedOperationException- if the list is unmodifiableIllegalStateException- if there is no element to remove
-
set
Replaces the last returned element.- Specified by:
setin interfaceListIterator- Parameters:
obj- the object to set- Throws:
UnsupportedOperationException- if the list is unmodifiableIllegalStateException- if the iterator is not in a valid state for set
-
add
Adds a new element to the list between the next and previous elements.- Specified by:
addin interfaceListIterator- Parameters:
obj- the object to add- Throws:
UnsupportedOperationException- if the list is unmodifiableIllegalStateException- if the iterator is not in a valid state for set
-
reset
public void reset()Resets the iterator back to the start (which is the end of the list as this is a reversed iterator)- Specified by:
resetin interfaceResettableIterator- Specified by:
resetin interfaceResettableListIterator
-