1. Dirección transversal: ListIterator permite a los programadores iterar los objetos de la lista en ambas direcciones, es decir, hacia adelante y hacia atrás, utilizando los métodos previous() y next ().
El iterador se puede usar para iterar la lista,asignar y establecer el objeto en una dirección, es decir, hacia adelante.
2. Desplazamiento de objetos implementados de conjunto y mapa: ListIterator se puede usar para recorrer solo objetos de lista . Pero el iterador se puede usar para recorrer Mapas, Listas y Establecer objetos implementados.
por ejemplo,
// Se crea el objeto ListIterator
ListIterator listIteratorObject = List.ListIterator (); / / El objeto iterador es Createditator iteratorObject = List.iterador();
3. Agregar o Establecer operaciones en cualquier índice : De acuerdo con ListIterator Oracle docs,
ListIterator puede modificar la lista durante la iteración utilizando add (E e) , remove () o set (E e).
El iterador no puede agregar el elemento durante el recorrido, pero puede eliminar el elemento de la colección subyacente durante la iteración, ya que solo consiste en el método remove (). No hay métodos add(E e) y set(E e) en el Iterador.
4. Determinar la posición actual del iterador: ListIterator puede obtener la posición actual del iterador en la lista.La posición actual del iterador durante el recorrido no se puede determinar con el Iterador.
5. Recuperar índice del elemento: ListIterator puede obtener el índice de los elementos utilizando los métodos previousIndex(E e) o nextIndex(E e).No podemos obtener el índice usando el Iterador, ya que no hay tales métodos presentes.
Ejemplo de Iterador y ListIterator
import java.útil.Iterador;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main(String args) {
Lista de listObject = new ArrayList();listObject.add("Alive is awesome"); listObject.add("Love yourself");ListIterator listIteratorObject = listObject.listIterator();System.out.println("ListIterator object output in forward direction:");System.out.println("");while( listIteratorObject.hasNext() ) { System.out.println(listIteratorObject.next()); }System.out.println("ListIterator object output in backward direction:");System.out.println("");while( listIteratorObject.hasPrevious() ) { System.out.println(listIteratorObject.previous()); } List iteratorListObject = new ArrayList(); iteratorListObject.add("Facebook"); iteratorListObject.add("Google"); iteratorListObject.add("Apple"); Iterator javaHungryIterator = iteratorListObject.iterator();System.out.println("Iterator object output in forward direction:");while( javaHungryIterator.hasNext() ) { System.out.println(javaHungryIterator.next()); }}}
Salida :
ListIterator salida del objeto en la dirección de avance:
Alive is awesomeLove yourself
Salida de objeto ListIterator en dirección hacia atrás: Love yourselfAlive es impresionanteSalida de objeto iterador en dirección hacia adelante:Búsqueda de facebookSimilitudes entre el iterador y el ListIterador en Java
1. Interfaces: Tanto el iterador como el ListIterador son interfaces . ListIterator extiende la interfaz del iterador.
2. Marco de Recopilación : Iterator y ListIterator son miembros del Framework de la Colección Java.
3. Recorrido: Ambos se utilizan para iterar sobre la colección de objetos .
4. Interfaces añadidas a jdk: Ambas interfaces se añaden al jdk en java 1.2
Recapitulación : La diferencia entre el Iterador y ListIterator en Java con el Ejemplo
ListIterator | Iterador | |
---|---|---|
Cruce de Dirección | Tanto , hacia adelante y hacia atrás | Adelante |
los Objetos de recorrido | Lista sólo | Mapa de Conjunto y Lista |
Agregar y Configurar las operaciones de | Permite que ambas operaciones | No es posible |
Iterador de la posición actual de | Sí , puede ser determinado | No es posible. |
Recuperar Índice | Sí | No es posible |