Iterator ite = Set.iterator();
Iterator ite = List.iterator();
ListIterator listite = List.listIterator();
Podemos usar Iteratorpara atravesar a Seto a Listo a Map. Pero ListIteratorsolo puede usarse para atravesar a List, no puede atravesar a Set. ¿Por qué?
Sé que la principal diferencia es que con el iterador podemos viajar en una sola dirección pero con ListIteratorambas podemos viajar. ¿Hay otras diferencias? ¿Y alguna ventaja de ListIteratormás Iterator?

Respuestas:
Las diferencias se enumeran en el Javadoc para ListIterator
Usted puede
fuente
Setes simple: no hay un "punto actual": los elementos no tienen índice y no hay una forma útil de agregar un elemento "antes" o "después" de otro.Hay dos diferencias:
Podemos usar Iterator para atravesar Set y List y también Map type of Objects. Mientras que un ListIterator se puede usar para recorrer objetos de tipo Lista, pero no para Objetos de tipo Conjunto.
Es decir, podemos obtener un objeto Iterator usando Set y List, vea aquí:
Al usar Iterator podemos recuperar los elementos del objeto de colección solo en dirección hacia adelante.
Métodos en Iterator:
hasNext()next()remove()Pero obtenemos el objeto ListIterator solo de la interfaz List, vea aquí:
donde como ListIterator le permite atravesar en cualquier dirección (hacia adelante y hacia atrás). Entonces tiene dos métodos más como
hasPrevious()yprevious()diferentes a los de Iterator. Además, podemos obtener índices de los elementos siguientes o anteriores (usandonextIndex()ypreviousIndex()respectivamente)Métodos en ListIterator:
es decir, no podemos obtener el objeto ListIterator de la interfaz Set.
Referencia: - ¿Cuál es la diferencia entre Iterator y ListIterator?
fuente
Aquí están las diferencias entre ellos:
iteratorusted puede avanzar solo, pero conListIteratorusted puede retroceder también mientras lee los elementos.ListIteratorusted puede obtener el índice en cualquier momento durante el desplazamiento, lo que no es posible coniterators.iteratorpuede verificar solo el siguiente elemento disponible o no, pero enlistiteratorpuede verificar los elementos anteriores y siguientes.listiteratorusted puede agregar un nuevo elemento en cualquier momento, mientras recorre. No es posible coniterator.listiteratorusted puede modificar un elemento mientras recorre, lo que no es posible coniterator.Aspecto y sensación de iterador:
Aspecto de ListIterator:
fuente