1. Traversal Direction: ListIterator umožňuje programátorům iterovat objekty seznamu v obou směrech, tj. vpřed i vzad pomocí metody předchozí() a další ().
iterátor lze použít k iteraci seznamu, mapování a nastavení objektu v jednom směru, tj. vpřed.
2. Nastavit a mapovat implementované objekty Traversal: Listeterator lze použít pouze k procházení objektu seznamu . Iterátor však lze použít k procházení Map, seznamu a nastavení implementovaných objektů.
například
/ / objekt ListIterator je vytvořen
ListIterator listiterator = List.listIterator (); / / Iterator objekt je createdIterator iteratorObject = List.iterátor();
3. Přidat nebo nastavit operaci v libovolném indexu: podle ListIterator Oracle docs,
ListIterator může upravit seznam během iterace pomocí add(E e) , remove() nebo set(E e).
iterátor nemůže přidat prvek během procházení, ale může odstranit prvek z podkladové kolekce během iterace, protože se skládají pouze z metody remove (). V Iterátoru není žádná metoda add(E e) a set(E e).
4. Určit aktuální pozici Iterátoru : ListIterator může získat aktuální pozici iterátoru v seznamu.Aktuální polohu iterátoru během traversalu nelze určit pomocí Iterátoru.
5. Načíst Index prvku: Lististerator může získat index prvků pomocí předchozích metodindex(E e) nebo nextIndex (E e).Nemůžeme získat index pomocí Iterátoru, protože není k dispozici žádné takové metody.
příklad Iterátoru a ListIterator
import java.util.Iterator;import java.util.ListIterator;public class IteratorListIteratorExample {public static void main (String args) {
seznam listObject = nový 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()); }}}
výstup:
ListIterator objekt výstup ve směru vpřed:
Alive is awesomeLove yourself
ListIterator object output in backward direction: Love yourselfAlive is awesomeIterator object output in forward direction:FacebookGoogleApplepodobnosti mezi Iterátorem a Listiterátorem v Javě
1. Rozhraní: iterátor i ListIterator jsou rozhraní . ListIterator rozšiřuje Iterator rozhraní.
2. Rámec Sběru : Iterator i ListIterator jsou součástí rámce Java Collection.
3. Traversal: oba se používají k iteraci nad sbírkou objektů .
4. Rozhraní přidaná do jdk: obě rozhraní jsou přidána do jdk v Javě 1.2
Rekapitulace : Rozdíl mezi Iterátorem a Lististerator v Javě s příkladem
ListIterator | Iterator | |
---|---|---|
směr pojezdu | vpřed i vzad | vpřed |
objekty traversal | pouze seznam | mapa, sada a seznam |
Přidat a nastavit operace | umožňuje obě operace | není možné |
aktuální pozice Iterátoru | Ano, lze určit | není možné. |
načíst Index | Ano | není možné |