ReverseListIterator.java |
/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.util.collection; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; /** * An iterator that returns elements in reverse order from a list. * * @version <tt>$Revision: 1.1 $</tt> * @author <a href="mailto:jason@planet57.com">Jason Dillon</a> */ public class ReverseListIterator implements Iterator { /** The list to get elements from */ protected final List list; /** The current index of the list */ protected int current; /** * Construct a ReverseListIterator for the given list. * * @param list List to iterate over. */ public ReverseListIterator(final List list) { this.list = list; current = list.size() - 1; } /** * Check if there are more elements. * * @return True if there are more elements. */ public boolean hasNext() { return current > 0; } /** * Get the next element. * * @return The next element. * * @throws NoSuchElementException */ public Object next() { if (current <= 0) { throw new NoSuchElementException(); } return list.get(current--); } /** * Remove the current element. */ public void remove() { list.remove(current); } }
ReverseListIterator.java |