Interfaces Iterator y ListIterator

La interface Iterator sustituye a Enumeration, utilizada en versiones anteriores del JDK. Dispone de los métodos siguientes:

Compiled from Iterator.java
public interface java.util.Iterator
{
public abstract boolean hasNext(); public abstract java.lang.Object next(); public abstract void remove();
}

El método remove() permite borrar el último elemento accedido con next(). Es la única forma segura de eliminar un elemento mientras se está recorriendo una colección.

Los métodos de la interface ListIterator son los siguientes:

Compiled from ListIterator.java
public interface java.util.ListIterator extends java.util.Iterator
{
public abstract void add(java.lang.Object); public abstract boolean hasNext();
public abstract boolean hasPrevious(); public abstract java.lang.Object next(); public abstract int nextIndex();
public abstract java.lang.Object previous(); public abstract int previousIndex();
public abstract void remove();
public abstract void set(java.lang.Object);
}

La interface ListIterator permite recorrer una lista en ambas direcciones, y hacer algunas modificaciones mientras se recorre. Los elementos se numeran desde 0 a n-1, pero los valores válidos para el índice son de 0 a n. Puede suponerse que el índice i está en la frontera entre los elementos i-1 e i; en ese caso previousIndex() devolvería i-1 y nextIndex() devolvería i. Si el índice es 0, previousIndex() devuelve –1 y si el índice es n nextIndex() devuelve el resultado de size().

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra