1. Traversal Direction: Listteraattorin avulla ohjelmoijat voivat iteroida listan objekteja molempiin suuntiin eli eteen-ja taaksepäin käyttäen edellistä() ja seuraavaa() menetelmää.
Iteraattorilla voidaan iteroida lista, kartta ja asettaa kohde yhteen suuntaan eli eteenpäin.
2. Aseta ja kartta toteutetut objektit Traversal: Listteraattoria voidaan käyttää vain Luetteloobjektin läpikäymiseen . Iteraattorilla voidaan kuitenkin kulkea kartta -, lista-ja Asetusesineiden läpi.
esimerkiksi
/ / Listteraattoriobjekti luodaan
Listterator listteratorobject = List.listteraattori ();// iteraattorin objekti on creatiterator iteratorObject = List.iteraattori();
3. Lisää tai aseta toiminto mihin tahansa indeksiin : Listteraattori Oracle Docsin mukaan
Listteraattori voi muuttaa luetteloa iteroinnin aikana käyttämällä add (E e) , remove () tai set (E e).
iteraattorit eivät voi lisätä elementtiä traversalin aikana, mutta ne voivat poistaa elementin taustalla olevasta kokoelmasta iteroinnin aikana, koska ne koostuvat vain remove () – menetelmästä. Iteraattorissa ei ole add(E e) – ja set (E e) – menetelmää.
4. Määritä iteraattorin nykyinen sijainti: Listteraattori voi saada iteraattorin nykyisen sijainnin luettelosta.Iteraattorin nykyistä sijaintia traversalin aikana ei voida määrittää iteraattorin avulla.
5. Hae alkuaineen indeksi: Listteraattori voi saada alkuaineiden indeksin käyttämällä aikaisempia index(E e) – tai nextIndex(E e) – menetelmiä.Emme voi saada indeksiä käyttämällä Iteraattoria, koska tällaisia menetelmiä ei ole.
esimerkki Iteraattorista ja Listeraattorista
tuo java.util.Iteraattori;import java.util.ListIterator;public class Iteratoristiteratorexample {public staattinen void main (String args) {
List listObject = Uusi 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()); }}}
Lähtö:
Listteriesineen lähtö eteenpäin:
Alive is awesomeLove yourself
Listerator object output in backward direction: Love yourselfAlive is awesomeIterator object output in forward direction:FacebookGoogleAppleyhtäläisyyksiä iteraattorin ja Listteraattorin välillä Javassa
1. Rajapinnat: sekä iteraattori että Listteraattori ovat rajapintoja . Listteraattori laajentaa iteraattorin rajapintaa.
2. Tiedonkeruukehys : Sekä iteraattori että Listteraattori kuuluvat Java Collection Frameworkiin.
3. Traversal: molemmat käytetään iterate yli kokoelma esineitä .
4. Liitännät lisätty jdk: Hon: molemmat liitännät lisätään JDK: Hon java 1.2: ssa
kertaus : Ero iteraattorin ja Listteraattorin välillä Javassa esimerkillä
Listteraattori | iteraattori | |
---|---|---|
kulkusuunta | sekä eteen-että taaksepäin | eteenpäin |
kohteet läpikulkumatkalla | luettelo vain | kartta, joukko ja luettelo |
lisää ja aseta operaatioita | mahdollistaa molemmat operaatiot | Ei mahdollista |
iteraattorin nykyinen sijainti | Kyllä, voidaan määrittää | Ei mahdollista. |
Hakemisto | Kyllä | ei mahdollista |