Ebben az oktatóanyagban egy példa segítségével megismerhetjük a Java Iterator felületét.
A Iterator
Java gyűjtemények keretrendszere lehetővé teszi számunkra a gyűjtemény elemeinek elérését. Alfelülete van ListIterator
.
Az összes Java-gyűjtemény tartalmaz egy iterator()
módszert. Ez a módszer visszaadja az iterátor egy példányát, amelyet a gyűjtemények elemeinek ismétléséhez használnak.
Az iterátor módszerei
Az Iterator
interfész 4 módszert kínál, amelyekkel különféle műveletek hajthatók végre a gyűjtemények elemein.
hasNext()
- visszatér,true
ha van egy elem a gyűjteménybennext()
- a gyűjtemény következő elemét adja visszaremove()
- eltávolítja az utolsó elemet, amelyet anext()
forEachRemaining()
- elvégzi a megadott műveletet a gyűjtemény minden megmaradt eleméhez
Példa: Az Iterator megvalósítása
Az alábbi példában, már végre a hasNext()
, next(),
remove()
és forEachRemining()
módszerek a Iterator
felületen egy tömbben listán.
import java.util.ArrayList; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) )
Kimenet
ArrayList: (1, 3, 2) Hozzáfűzött elem: 1 Eltávolított elem: 1 Frissített ArrayList: 3, 2,
A fenti példában vegye figyelembe az állítást:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Itt a lambda kifejezést adtuk át a forEachRemaining()
módszer argumentumaként .
Most a módszer kinyomtatja a tömblista összes többi elemét.