Class ReverseListIterator

  • All Implemented Interfaces:
    Iterator, ListIterator, ResettableIterator, ResettableListIterator

    public class ReverseListIterator
    extends Object
    implements 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 Detail

      • ReverseListIterator

        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
    • Method Detail

      • hasNext

        public boolean hasNext()
        Checks whether there is another element.
        Specified by:
        hasNext in interface Iterator
        Specified by:
        hasNext in interface ListIterator
        Returns:
        true if there is another element
      • next

        public Object next()
        Gets the next element. The next element is the previous in the list.
        Specified by:
        next in interface Iterator
        Specified by:
        next in interface ListIterator
        Returns:
        the next element in the iterator
      • nextIndex

        public int nextIndex()
        Gets the index of the next element.
        Specified by:
        nextIndex in interface ListIterator
        Returns:
        the index of the next element in the iterator
      • hasPrevious

        public boolean hasPrevious()
        Checks whether there is a previous element.
        Specified by:
        hasPrevious in interface ListIterator
        Returns:
        true if there is a previous element
      • previous

        public Object previous()
        Gets the previous element. The next element is the previous in the list.
        Specified by:
        previous in interface ListIterator
        Returns:
        the previous element in the iterator
      • previousIndex

        public int previousIndex()
        Gets the index of the previous element.
        Specified by:
        previousIndex in interface ListIterator
        Returns:
        the index of the previous element in the iterator