Java nyelven egy Iterátor az egyik Java kurzor. Java Iterator egy olyan interfész, amelyet a Java objektum-összetevők gyűjteményének egyenkénti ismétlésére használnak. A Java programozási nyelvben a Java 1.2 Collection keretrendszer óta ingyenesen használható. A java.util csomaghoz tartozik.
Bár a Java Iteratort a Java 1.2-ben vezették be, még mindig nem ez a legrégebbi eszköz a Collection objektum elemeinek áthaladásához. A Java programozási nyelv legrégebbi Iterátora az Enumerator előtti Iterator. A Java Iterator interfész követi az enumerator iteratort, amelyet kezdetben gyakoroltak néhány hozzáférhető gyűjtemény, például az ArrayLists áthaladására.
A Java Iterator néven is ismert univerzális kurzor Java, mivel az a Collection keretrendszer összes osztályához megfelelő. A Java Iterator az olyan műveletekben is segít, mint az OLVASÁS és az ELTÁVOLÍTÁS. Ha összehasonlítjuk a Java Iterator felületet a felsorolási iterátor felülettel, akkor azt mondhatjuk, hogy a Java Iteratorban elérhető metódusok nevei pontosabbak és egyszerűbben használhatók.
A Java Iterator előnyei
Az Iterator a Java nyelven nagyon elterjedtté vált számos előnye miatt. A Java Iterator előnyei a következők:
- A felhasználó ezeket az iterátorokat a Collection keretrendszer bármelyik osztályára alkalmazhatja.
- A Java Iteratorban az olvasási és eltávolítási műveleteket egyaránt használhatjuk.
- Ha egy felhasználó for ciklussal dolgozik, nem tudja modernizálni (hozzáadni/eltávolítani) a gyűjteményt, míg ha a Java Iterátort használja, egyszerűen frissítheti a gyűjteményt.
- A Java Iterator a Collection API univerzális kurzora.
- A Java Iterator metódusnevei nagyon egyszerűek és nagyon egyszerűen használhatók.
A Java Iterator hátrányai
Számos előnye ellenére a Java Iteratornak számos hátránya is van. A Java Iterator hátrányait az alábbiakban ismertetjük -
- A Java Iterator csak az előrefelé irányuló iterációt őrzi meg. Egyszerű szavakkal, a Java Iterator egy egyirányú iterátor.
- Egy új komponens cseréjét és kiterjesztését a Java Iterator nem hagyja jóvá.
- A CRUD műveletekben a Java Iterator nem tartalmazza a különféle műveleteket, például a CREATE és az UPDATE.
- A Spliteratorhoz képest a Java Iterator nem támogatja az elemek bejárását a párhuzamos mintában, ami azt jelenti, hogy a Java Iterator csak a szekvenciális iterációt támogatja.
- A Spliteratorhoz képest a Java Iterator nem támogatja a megbízhatóbb végrehajtást az adatok tömegének áthaladásához.
Hogyan kell használni a Java Iterator-t?
Ha a felhasználónak a Java Iteratort kell használnia, akkor kötelező elkészítenie az Iterator interfész példányát azon objektumok gyűjteményéből, amelyeken át akar lépni. Ezt követően a fogadott iterátor karbantartja az alapul szolgáló gyűjtemény összetevőinek nyomvonalát, hogy megbizonyosodjon arról, hogy a felhasználó végigjárja az objektumgyűjtemény egyes elemeit.
Ha a felhasználó módosítja a mögöttes gyűjteményt, miközben áthalad egy Iterátoron, amely ahhoz a gyűjteményhez vezet, akkor az Iterátor általában elismeri, és kivételt dob a következő alkalommal, amikor a felhasználó megpróbálja megszerezni a következő összetevőt az Iterátorból.
Java Iterator Methods
A következő ábra tökéletesen mutatja a Java Iterator felület osztálydiagramját. Összesen négy módszert tartalmaz, amelyek a következők:
- hasNext()
- következő()
- eltávolítás()
- forEachRemaining()
A forEachRemaining() metódus került be a Java 8-ba. Beszéljünk részletesen minden módszerről.
Ha nem maradt több elem az iterációban, akkor nem kell meghívni a next() metódust. Egyszerű szavakkal azt mondhatjuk, hogy a metódus segítségével meghatározható, hogy a next() metódust meg kell-e hívni vagy sem.
Példa a Java Iteratorra
Most itt az ideje, hogy végrehajtsunk egy Java programot, hogy bemutassuk a Java Iterator felület előnyeit. Az alábbi kód a városnevek ArrayListjét állítja elő. Ezután inicializálunk egy iterátort az ArrayList iterator () metódusával. Ezt követően a lista bejárja az egyes elemeket.
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(); } }
Kimenet:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Emlékeztető pontok
- A Java Iterator a Java programozási nyelvhez hozzáadott felület a Java 1.2 Collection keretrendszerben. A java.util csomaghoz tartozik.
- Ez az egyik Java kurzor, amelyet a gyűjtemény keretrendszerének objektumain való bejárásra gyakorolnak.
- A Java Iterator a gyűjteményobjektum összetevőinek egyenkénti iterálására szolgál.
- A Java Iterator a Java univerzális kurzoraként is ismert, mivel a Collection keretrendszer összes osztályához megfelelő.
- A Java Iterator támogatja a READ és REMOVE műveleteket is.
- Az Iterator osztály metódusnevei nagyon egyszerűek és könnyen használhatók az Enumeration Iterator metódusneveihez képest.