Hva er Iterator i Java og hvordan bruker jeg det?



Iterator i Java-bloggen vil gi deg en skikkelig introduksjon til hva som er en iterator og hvordan du bruker disse i Java med noen få eksempler

Hvis du jobber med en og si at du vil skrive ut en sekvens, det er der Iterator i Java kommer inn i bildet. På denne måten kan du få sekvensen selv uten å legge til utskriftsuttalelsen for hver linje. Så, la oss lære om Iterator i .

Nedenfor er emnene jeg skal dekke i denne modulen:





La oss komme i gang!

Hva er en iterator?

Java støtter hovedsakelig fire forskjellige markører. De er nemlig:



  • Oppregning
  • Iterator
  • ListIterator
  • Splitter

Hver av disse Java-markørene har noen fordeler og ulemper. Vi vil fokusere på Iterator i denne artikkelen.

Nå, hva er en iterator i Java?

Iterator er et grensesnitt som tilhører et samlingsrammeverk. Den lar deg krysse samlingen, få tilgang til dataelementet og fjerne dataelementene i samlingen.



hvordan du installerer php på Windows 10

Det regnes også som en universell iterator, ettersom du kan bruke den på hvilken som helst gjenstand. Ved å bruke en Iterator kan du utføre både lese- og fjernoperasjoner. Dette er en forbedret versjon av Oppregning med tilleggsfunksjonalitetene for fjerningsevnen til et element.

Java Iterator Methods

Java iterator har totalt 4 metoder. La oss forstå dem i detalj.

MetoderBeskrivelse
forEachRemaining (Consumeraction)Den utfører handlingene på hvert av elementene til og med alle elementene er behandlet. Også til et unntak blir kastet av handlingen.
hasNext ()Dette returnerer en sann verdi hvis det oppdages et høyt antall elementer under iterasjonen.
neste ()Dette returnerer neste spesifiserte elementet under iterasjonen.
ta vekk()Denne metoden rfjerner gjeldende element. Kaster IllegalStateException hvis det blir gjort et forsøk på å ringe fjerne () som ikke går foran en samtale til neste ().
boolsk hasNext ()Dette blir sant hvis iterasjonen har flere elementer.

Eksempel:

class Method {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // Iterator for å krysse listen Iterator iterator = list.iterator () System.out.println (' Listelementer : ') mens (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Utgang: EDUREKA

La oss ta en titt på ListIterator i Java.

ListIterator i Java

hva er vårrammen

ListIterator i Java er en Iterator som lar brukerne krysse gjennom samlingen i begge retninger. Den inneholder følgende metoder:

MetoderMetode og beskrivelse
void add (Objekt obj) Inserts motsetter seg i listen foran elementet som returneres ved neste samtale til neste ().
boolsk hasNext () Returnerer sant hvis det er neste element. Ellers returnerer falsk.
boolsk hasPrevious () Returnerer sant hvis det er et tidligere element. Ellers returnerer falsk.
Objekt neste () Returnerer neste element. Et NoSuchElementException kastes hvis det ikke er neste element.
int nextIndex () Returnerer indeksen til neste element. Hvis det ikke er neste element, returnerer du størrelsen på listen.
Objekt forrige () Returnerer forrige element. Et NoSuchElementException kastes hvis det ikke er et tidligere element.
int previousIndex () Returnerer indeksen til forrige element. Hvis det ikke er et tidligere element, returnerer -1.
ugyldig fjerne () Fjerner det nåværende elementet fra listen. Et IllegalStateException kastes hvis remove () blir kalt før neste () eller forrige () blir påkalt.
ugyldig sett (Objekt obj) Tildeler mot det aktuelle elementet. Dette er elementet som sist ble returnert av en samtale til enten neste () eller forrige ().

Eksempel:

public class Lists {public static void main (String args []) {// Opprett en array-liste ArrayList al = new ArrayList () // legg til elementer i array-listen al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Bruk iterator for å vise innholdet av al System.out.print ('Original content of al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // Endre objekter som blir iterert ListIterator litr = al.listIterator () mens (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Modified contents of al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Nå viser du listen bakover System.out.print ('Modified list backwards:') mens (litr.hasPrevious ()) {Object element = litr.previous () System.out. skriv ut (element + '')} System.out.println ()}}

Produksjon:

Opprinneliginnholdet i al:E D U R E K A
Modifisertinnholdet i al:ER+D+U+R+ER+TIL+ A +
Modifisertlisten bakover:TIL+TIL+ER+R+U+D+ OG +

java-analysestreng til dags dato

La oss nå se på fordelene og begrensningene med dette iteratorgrensesnittet i Java.

Fordeler med Iterator i Java

Iterator i Java har følgende fordeler.

  • Du kan bruke disse iteratorene for alle samlingsklasser.
  • Iterator i Java støtter begge deler lese i tillegg til ta vekk operasjoner.
  • Hvis du bruker for løkke du kan ikke oppdater (legg til / fjern) samlingen mens du ved hjelp av en iterator enkelt kan oppdatere samlingen.
  • Det er en Universal Cursor for Collection API.
  • Metodenavnene er veldig enkle og er veldig enkle å bruke.

Begrensninger av Iterator i Java

Iteratorer i Java har følgende ulemper:

  • Du kan bare utføre fremoverretning, det vil si Uni-Directional Iterator.
  • Utskifting og tillegg av et nytt element støttes ikke av Iteratoren.
  • ListIterator er den kraftigste iteratoren, men den gjelder bare for listeimplementerte klasser. Så det er ikke en universell iterator.
  • Når du bruker CRUD-operasjoner, støtter den ikke opprettings- og oppdateringsoperasjonene.
  • Når du sammenligner det med Spliterator, lar det deg ikke itere elementer parallelt. Dette betyr at den bare støtter sekvensiell iterasjon.
  • Det støtter ikke bedre ytelse for å itere et stort datamengde.

Dette bringer oss til slutten av denne artikkelen der vi har lært om hvordan iterator i Java fungerer. Håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om “Iterator i Java” relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk med mer enn 250 000 fornøyde elever spredt over hele verden.

Vi er her for å hjelpe deg med hvert trinn på reisen, i tillegg til dette kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Hvis du kommer over noen spørsmål, er du velkommen til å stille alle spørsmålene dine i kommentarfeltet i “Iterator i Java”, og teamet vårt svarer gjerne.