1. Direcție traversală: ListIterator permite programatorilor să itereze obiectele listă în ambele direcții și anume înainte, precum și direcția înapoi folosind metoda anterioară() și următoare ().
Iterator poate fi folosit pentru a itera lista, harta și setați obiectul într-o direcție și anume înainte.
2. Set și harta puse în aplicare obiecte Traversal : ListIterator poate fi folosit pentru a traversa numai obiect listă . Dar Iterator poate fi folosit pentru a traversa Harta, Lista și a stabilit obiecte puse în aplicare.
de exemplu
// obiectul ListIterator este creat
ListIterator listIteratorObject = listă.listIterator (); / / obiect Iterator este createdIterator iteratorObject = listă.iterator();
3. Adăugați sau setați funcționarea la orice index: conform ListIterator Oracle docs,
ListIterator poate modifica lista în timpul iterației folosind add(E e) , remove() sau set(E e).
Iteratorul nu poate adăuga elementul în timpul traversării, dar poate elimina elementul din colecția de bază în timpul iterației, deoarece constă doar din metoda eliminare (). Nu există nici o adăugare(E e) și set (E e) metodă în Iterator.
4. Determinați poziția curentă a Iteratorului: ListIterator poate obține poziția curentă a iteratorului în listă.Poziția curentă a iteratorului în timpul traversării nu poate fi determinată folosind Iteratorul.
5. Regăsiți indexul elementului: ListIterator poate obține indexul elementelor folosind metode anterioare(E e) sau nextIndex(e e).Nu putem obține indexul folosind Iterator, deoarece nu există astfel de metode prezente.
exemplu de Iterator și ListIterator
import java.util.Iterator;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main (string args) {
listă listObject = ArrayList nou();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()); }}}
ieșire:
Listterator obiect ieșire în direcția înainte:
Alive este awesomeLove-te
ListIterator ieșire obiect în direcția înapoi:iubesc yourselfAlive este minunatiterator ieșire obiect în direcția înainte:FacebookGoogleAppleasemănări între Iterator și ListIterator în Java
1. Interfețe: atât Iterator și ListIterator sunt interfețe . ListIterator extinde interfața Iterator.
2. Cadrul De Colectare : Atât Iterator și ListIterator sunt membre ale cadrului de colectare Java.
3. Traversal: ambele sunt folosite pentru a itera peste colecția de obiecte .
4. Interfețe adăugate la jdk: ambele interfețe sunt adăugate la jdk în java 1.2
recapitulare : Diferența dintre Iterator și ListIterator în Java cu exemplu
ListIterator | Iterator | |
---|---|---|
direcția de traversare | ambele, înainte și înapoi | înainte |
obiecte traversal | lista numai | hartă, Set și lista |
Adăugare și Setare operații | permite ambele operații | nu este posibil |
poziția curentă a Iteratorului | da , poate fi determinată | nu este posibilă. |
preluare Index | Da | nu este posibil |