Vad är Iterator i Java och hur använder jag det?



Iterator in Java blogg ger dig en ordentlig introduktion till vad som är en iterator och hur man använder dessa i Java med några exempel

Om du arbetar med en och säg att du vill skriva ut en sekvens, det är där Iterator i Java kommer in i bilden. På så sätt kan du få sekvensen även utan att lägga till utskriftsuttalandet för varje rad. Så, låt oss lära oss om Iterator i .

Nedan följer de ämnen som jag kommer att behandla i den här modulen:





Låt oss börja!

ställa in förmörkelse för java

Vad är en iterator?

Java stöder främst fyra olika markörer. De är nämligen:



  • Uppräkning
  • Iterator
  • ListIterator
  • Splitter

Var och en av dessa Java-markörer har några fördelar och nackdelar. Vi fokuserar på Iterator i den här artikeln.

Vad är en iterator i Java nu?

Iterator är ett gränssnitt som tillhör en samlingsram. Det låter dig korsa samlingen, komma åt dataelementet och ta bort dataelementen i samlingen.



Det betraktas också som en universell iterator eftersom du kan använda den på valfri objekt. Genom att använda en Iterator kan du utföra både läsa och ta bort operationer. Detta är en förbättrad version av Uppräkning med de ytterligare funktionerna för ett elements borttagningsförmåga.

Java Iterator Methods

Java iterator har totalt 4 metoder. Låt oss förstå dem i detalj.

MetoderBeskrivning
forEachRemaining (Consumeraction)Det utför åtgärderna på vart och ett av elementen tills och om inte alla element har bearbetats. Också tills ett undantag kastas av åtgärden.
hasNext ()Detta återvänder ett verkligt värde om ett stort antal element påträffas under iterationen.
Nästa()Detta återvänder nästa specificerade element under iterationen.
ta bort()Denna metod removes det aktuella elementet. Kastar IllegalStateException om man försöker ringa ta bort () som inte föregås av ett samtal till nästa ().
boolean hasNext ()Detta blir sant om iterationen har fler element.

Exempel:

klass Metod {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 för att korsa listan Iterator iterator = list.iterator () System.out.println (' Listelement : ') medan (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Utgång: EDUREKA

Låt oss ta en titt på ListIterator i Java.

ListIterator i Java

hur man deklarerar en instansvariabel i java

ListIterator i Java är en Iterator som tillåter användare att korsa genom samlingen i båda riktningarna. Den innehåller följande metoder:

MetoderMetod & beskrivning
void add (Object obj) Inserts motsätter sig listan framför elementet som kommer att returneras vid nästa samtal till nästa ().
boolean hasNext () Returnerar sant om det finns nästa element. Annars returnerar falskt.
boolean hasPrevious () Returnerar sant om det finns ett tidigare element. Annars returnerar falskt.
Objekt nästa () Returnerar nästa element. Ett NoSuchElementException kastas om det inte finns nästa element.
int nästaIndex () Returnerar index för nästa element. Om det inte finns nästa element returnerar du storleken på listan.
Objekt föregående () Returnerar föregående element. Ett NoSuchElementException kastas om det inte finns ett tidigare element.
int previousIndex () Returnerar index för föregående element. Om det inte finns ett tidigare element returneras -1.
ogiltig ta bort () Tar bort det aktuella elementet från listan. En IllegalStateException kastas om remove () anropas innan nästa () eller föregående () anropas.
ogiltig uppsättning (Objekt obj) Tilldelar mot det aktuella elementet. Detta är elementet som senast returnerades av ett samtal till antingen nästa () eller föregående ().

Exempel:

public class Lists {public static void main (String args []) {// Skapa en array-lista ArrayList al = new ArrayList () // lägg till element i array-listan al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Använd iterator för att visa innehåll på al System.out.print ('Original innehåll av al:') Iterator itr = al.iterator () medan (itr.hasNext ()) {Objektelement = itr.next () System.out.print (element + '' )} System.out.println () // Ändra objekt som upprepas ListIterator litr = al.listIterator () medan (litr.hasNext ()) {Objektelement = 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 () // Visa nu listan bakåt System.out.print ('Modified list backwards:') medan (litr.hasPrevious ()) {Object element = litr.previous () System.out. skriva ut (element + '')} System.out.println ()}}

Produktion:

Originalinnehåll av al:E D U R E K A
Ändradinnehåll av al:ÄR+D+U+R+ÄR+TILL+ A +
Ändradlista bakåt:TILL+TILL+ÄR+R+U+D+ OCH +

mvc designmönster i java

Låt oss nu titta på fördelarna och begränsningarna med detta iteratorgränssnitt i Java.

Fördelar med Iterator i Java

Iterator i Java har följande fördelar.

  • Du kan använda dessa iteratorer för vilken samlingsklass som helst.
  • Iterator i Java stöder båda läsa såväl som ta bort operationer.
  • Om du använder för loop du kan inte uppdatera (lägg till / ta bort) samlingen medan du med hjälp av en iterator enkelt kan uppdatera samlingen.
  • Det är en universell markör för samlings-API: et.
  • Metodnamnen är mycket enkla och mycket lätta att använda.

Begränsningar av Iterator i Java

Iteratorer i Java har följande nackdelar:

  • Du kan bara utföra framåtriktad iteration, det vill säga Uni-Directional Iterator.
  • Ersättning och tillägg av ett nytt element stöds inte av Iterator.
  • ListIterator är den mest kraftfulla iteratorn men den är endast tillämplig för Listimplementerade klasser. Så det är inte en universell iterator.
  • När du använder CRUD-funktioner stöder det inte skapnings- och uppdateringsåtgärderna.
  • När du jämför det med Spliterator låter det dig inte upprepa element parallellt. Det betyder att den endast stöder sekventiell iteration.
  • Det stöder inte bättre prestanda för att itera en stor datamängd.

Detta leder oss till slutet av den här artikeln där vi har lärt oss hur iterator i Java fungerar. Hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Om du tyckte att den här artikeln om ”Iterator i Java” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.

Vi är här för att hjälpa dig med varje steg på din resa, förutom detta kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i 'Iterator i Java' och vårt team kommer gärna att svara.