I Java, en Iterator er en af Java-markørerne. Java Iterator er en grænseflade, der praktiseres for at iterere over en samling af Java-objektkomponenter i sin helhed én efter én. Det er gratis at bruge i Java-programmeringssproget siden Java 1.2 Collection frameworket. Det tilhører java.util-pakken.
Selvom Java Iterator blev introduceret i Java 1.2, er det dog stadig ikke det ældste værktøj, der er tilgængeligt til at gennemgå elementerne i Collection-objektet. Den ældste Iterator i Java-programmeringssproget er Enumerator forud for Iterator. Java Iterator-grænsefladen efterfølger enumerator-iteratoren, der blev praktiseret i begyndelsen til at krydse nogle tilgængelige samlinger som ArrayLists.
Java Iterator er også kendt som universel markør af Java, da det er passende for alle klasser i samlingsrammen. Java Iterator hjælper også med operationer som LÆS og FJERN. Når vi sammenligner Java Iterator-grænsefladen med enumeration iterator-grænsefladen, kan vi sige, at navnene på de tilgængelige metoder i Java Iterator er mere præcise og ligetil at bruge.
Fordele ved Java Iterator
Iterator i Java blev meget udbredt på grund af dets mange fordele. Fordelene ved Java Iterator er givet som følger -
- Brugeren kan anvende disse iteratorer til enhver af klasserne i samlingsrammen.
- I Java Iterator kan vi bruge både læse- og fjernoperationerne.
- Hvis en bruger arbejder med en for-løkke, kan de ikke modernisere (tilføje/fjerne) samlingen, hvorimod, hvis de bruger Java Iterator, kan de blot opdatere samlingen.
- Java Iterator betragtes som Universal Cursor for Collection API.
- Metodenavnene i Java Iterator er meget nemme og er meget nemme at bruge.
Ulemper ved Java Iterator
På trods af de mange fordele har Java Iterator også forskellige ulemper. Ulemperne ved Java Iterator er angivet nedenfor -
- Java Iterator bevarer kun iterationen i fremadgående retning. Med enkle ord er Java Iterator en ensrettet iterator.
- Udskiftning og udvidelse af en ny komponent er ikke godkendt af Java Iterator.
- I CRUD Operations holder Java Iterator ikke de forskellige operationer som CREATE og UPDATE.
- I sammenligning med Spliterator understøtter Java Iterator ikke krydsende elementer i det parallelle mønster, hvilket indebærer, at Java Iterator kun understøtter sekventiel iteration.
- I sammenligning med Spliterator understøtter Java Iterator ikke mere pålidelig udførelse til at krydse hovedmængden af data.
Hvordan bruger man Java Iterator?
Når en bruger skal bruge Java Iterator, så er det obligatorisk for dem at lave en instans af Iterator-grænsefladen fra samlingen af objekter, de ønsker at krydse over. Derefter vedligeholder den modtagne iterator sporet af komponenterne i den underliggende samling for at sikre, at brugeren vil krydse hvert af elementerne i samlingen af objekter.
Hvis brugeren ændrer den underliggende samling, mens han går over en iterator, der fører til den samling, så vil iteratoren typisk anerkende det og vil kaste en undtagelse i næste gang, når brugeren vil forsøge at hente den næste komponent fra iteratoren.
Java Iterator metoder
Følgende figur viser perfekt klassediagrammet for Java Iterator-grænsefladen. Den indeholder i alt fire metoder, der er:
- hasNext()
- Næste()
- fjerne()
- forEachRemaining()
Det forEachRemaining() metode blev tilføjet i Java 8. Lad os diskutere hver metode i detaljer.
Hvis der ikke er flere elementer tilbage i iterationen, er der ingen grund til at kalde metoden next(). Med enkle ord kan vi sige, at metoden bruges til at bestemme, om metoden next() skal kaldes eller ej.
Eksempel på Java Iterator
Nu er det tid til at køre et Java-program for at illustrere fordelen ved Java Iterator-grænsefladen. Nedenstående kode producerer en ArrayList af bynavne. Derefter initialiserer vi en iterator ved at anvende iterator () metoden i ArrayList. Derefter gennemløbes listen for at repræsentere hvert element.
arv i c++
JavaIteratorExample.java
import java.io.*; import java.util.*; public class JavaIteratorExample { public static void main(String[] args) { ArrayList cityNames = new ArrayList(); cityNames.add('Delhi'); cityNames.add('Mumbai'); cityNames.add('Kolkata'); cityNames.add('Chandigarh'); cityNames.add('Noida'); // Iterator to iterate the cityNames Iterator iterator = cityNames.iterator(); System.out.println('CityNames elements : '); while (iterator.hasNext()) System.out.print(iterator.next() + ' '); System.out.println(); } }
Produktion:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Punkter at huske
- Java Iterator er en grænseflade tilføjet i Java-programmeringssproget i Java 1.2 Collection-rammerne. Det tilhører java.util-pakken.
- Det er en af Java-markørerne, der øves til at krydse objekterne i samlingsrammen.
- Java Iterator bruges til at iterere komponenterne i samlingsobjektet én efter én.
- Java Iterator er også kendt som den universelle markør for Java, da den er passende for alle klasserne i samlingsrammen.
- Java Iterator understøtter også operationer som LÆS og FJERN.
- Metodenavnene i Iterator-klassen er meget enkle og nemme at bruge sammenlignet med metodenavnene for Enumeration Iterator.