Iterator es una superclase de ListIterator.
Aquí están las diferencias entre ellos:
- Con
iterator
usted puede avanzar solo, pero con ListIterator
usted puede retroceder también mientras lee los elementos.
- Con
ListIterator
usted puede obtener el índice en cualquier momento durante el desplazamiento, lo que no es posible con iterator
s.
- Con
iterator
puede verificar solo el siguiente elemento disponible o no, pero en listiterator
puede verificar los elementos anteriores y siguientes.
- Con
listiterator
usted puede agregar un nuevo elemento en cualquier momento, mientras recorre. No es posible con iterator
.
- Con
listiterator
usted puede modificar un elemento mientras recorre, lo que no es posible con iterator
.
Aspecto y sensación de iterador:
public interface Iterator<E> {
boolean hasNext();
E next();
void remove(); //optional-->use only once with next(),
dont use it when u use for:each
}
Aspecto de ListIterator:
public interface ListIterator<E> extends Iterator<E> {
boolean hasNext();
E next();
boolean hasPrevious();
E previous();
int nextIndex();
int previousIndex();
void remove(); //optional
void set(E e); //optional
void add(E e); //optional
}