1. Direzione trasversale: ListIterator consente ai programmatori di iterare gli oggetti della lista in entrambe le direzioni, ovvero in avanti e indietro usando il metodo previous() e next ().
Iterator può essere utilizzato per iterare l’elenco, mappare e impostare l’oggetto in una direzione, ovvero in avanti.
2. Set and Map implemented Objects Traversal: ListIterator può essere utilizzato per attraversare solo l’oggetto List . Ma Iterator può essere utilizzato per attraversare la mappa, Elencare e impostare oggetti implementati.
ad esempio
// Viene creato l'oggetto ListIterator
ListIterator listIteratorObject = List.listIterator ();// Iterator oggetto è createdIterator iteratorObject = List.iteratore();
3. Aggiungi o Imposta operazione a qualsiasi indice: secondo ListIterator Oracle docs,
ListIterator può modificare l’elenco durante l’iterazione utilizzando add(E e) , remove() o set(E e).
Iterator non può aggiungere l’elemento durante l’attraversamento, ma può rimuovere l’elemento dalla raccolta sottostante durante l’iterazione in quanto consistono solo nel metodo remove (). Non esiste un metodo add(E e) e set (E e) nell’iteratore.
4. Determinare la posizione corrente dell’iteratore: ListIterator può ottenere la posizione corrente dell’iteratore nell’elenco.La posizione corrente dell’iteratore durante l’attraversamento non può essere determinata utilizzando l’Iteratore.
5. Recupera indice dell’elemento: ListIterator può ottenere l’indice degli elementi utilizzando metodi previousIndex(E e) o nextIndex (E e).Non possiamo ottenere l’indice usando l’Iteratore in quanto non sono presenti tali metodi.
Esempio di iteratore e listiteratore
importa java.util.Iteratore;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main(String args) {
Elenco 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()); }}}
Uscita :
ListIterator oggetto uscita in direzione avanti:
Vivo è awesomeLove te
ListIterator oggetto uscita in direzione contraria:l'Amore yourselfAlive è impressionanteoggetto Iteratore uscita in direzione avanti:FacebookGoogleAppleSomiglianze tra Iteratore e ListIterator in Java
1. Interfacce: sia Iterator che ListIterator sono interfacce . ListIterator estende l’interfaccia Iteratore.
2. Quadro di raccolta : Sia Iterator che ListIterator sono membri del framework di raccolta Java.
3. Traversal: entrambi sono usati per iterare la raccolta di oggetti .
4. Interfacce aggiunte a jdk: entrambe le interfacce vengono aggiunte a jdk in java 1.2
Recap : Differenza tra Iteratore e ListIterator in Java con Esempio
ListIterator | Iterator | |
---|---|---|
l’Attraversamento in Direzione | Sia , avanti e indietro | Avanti |
Oggetti di attraversamento | Elenco solo | Mappa, Impostare e Elenco |
Aggiungere e Impostare le operazioni di | Consente di entrambe le operazioni | Non possibile |
La posizione corrente dell’iteratore | Sì , può essere determinata | Non possibile. |
Recupera indice | Sì | Non possibile |