Iterators Java ir viens no visbiežāk izmantotajiem kursori Java kolekciju sistēmā . To izmanto, lai šķērsotu vai iterētu kolekcijas elementus pa vienam.
- To izmanto elementu pārvietošanai tikai uz priekšu.
- Droši noņem elementus šķērsošanas laikā, izmantojot Remove().
- Iterators ir universāls kursors, kas attiecas uz visiem kolekcijas veidiem — sarakstu kopu un rindu.
Iteratora deklarācija
publiskā interfeisa iterators
Šeit E apzīmē atkārtojamo elementu veidu.
Iteratora objekta izveide
Iteratora objekts tiek izveidots, kolekcijas objektā izsaucot iterator() metodi. Šeit mēs izmantosim iteratoru, lai šķērsotu un izdrukātu katru elementu ArrayList .
sakārtot pēc nejaušības principa SQL
JavaKolekcija
nosaukumi = jauns ArrayList<>();
Iteratorsitr = nosaukumi.iterators();
import java.util.ArrayList; import java.util.Iterator; public class Geeks { public static void main(String[] args) { // Create an ArrayList and add some elements ArrayList<String> al = new ArrayList<>(); al.add('A'); al.add('B'); al.add('C'); // Obtain an iterator for the ArrayList Iterator<String> it = al.iterator(); // Iterate through the elements and print each one while (it.hasNext()) { // Get the next element String n = it.next(); System.out.println(n); } } }
Izvade
A B C
Iteratora hierarhija
Iterators ir daļa no java.util pakotne un to ievieš visas kolekcijas klases, izmantojot to apakšinterfeisus.
Iterators-kursorsIteratora saskarnes metodes
Iteratora saskarne definē trīs tālāk norādītās metodes.
- hasNext(): Atgriež patiesu, ja iterācijā ir vairāk elementu.
- nākamais (): Atgriež nākamo iterācijas elementu. Tas met NoSuchElementException ja vairs nav neviena elementa.
- noņemt (): Noņem pēdējo elementu, ko atgrieza next(). Šo metodi var izsaukt tikai vienu reizi vienā izsaukumā uz next().
Piezīme : metode remove() var radīt divus izņēmumus, proti:
Iekšējais darbs
Šajā sadaļā mēs centīsimies saprast, kā Java Iterator un tā metodes darbojas iekšēji. Lai saprastu šo funkcionalitāti, izmantosim šo LinkedList objektu.
ierakstiet json failā python
1. darbība: Tagad izveidosim iteratora objektu saraksta objektā, kā parādīts zemāk:
Iterators
cityIterator = pilsētas.iterators();
"CitiesIteartor" iterators izskatīsies šādi:
1. darbībaŠeit Iteratora kursors ir norādīts pirms saraksta pirmā elementa.
2. darbība: Tagad mēs izpildīsim šādu koda fragmentu.
cityIterator.hasNext();
cityIterator.next();izlases numurs gen java
2. darbībaPalaižot iepriekš minēto koda fragmentu, iteratora kursors norāda uz pirmo elementu sarakstā, kā parādīts iepriekš redzamajā diagrammā.
3. darbība: Tagad mēs izpildīsim šādu koda fragmentu.
cityIterator.hasNext();
cityIterator.next();
3. darbība
Palaižot iepriekš minēto koda fragmentu, Iteratora kursors norāda uz otro elementu sarakstā, kā parādīts iepriekš redzamajā diagrammā.
sagatavoties testa mockito
4. darbība: Veiciet šo procesu, lai sasniegtu iteratora kursoru līdz saraksta beigu elementam.
4. darbība5. darbība: Pēc pēdējā elementa nolasīšanas, ja palaižam tālāk norādīto koda fragmentu, tas atgriež nepatiesu vērtību.
cityIterator.hasNext();

Kā Iteratora kursors norāda uz saraksta pēdējo elementu hasNext() metode atgriež nepatiesu vērtību.
Piezīme: Java Iterator atbalsta tikai uz priekšu vērstu iterāciju, tāpēc to sauc par vienvirziena kursoru. Turpretim ListIterator ir divvirzienu, kas ļauj pārvietoties abos virzienos.
Java iterators: virziens uz priekšuPiemērs: Šeit mēs izmantosim Iteratoru, lai šķērsotu un noņemtu nepāra elementus no ArrayList.
Javaimport java.util.ArrayList; import java.util.Iterator; public class Geeks { public static void main(String[] args) { // Creating an ArrayList of Integer type ArrayList<Integer> al = new ArrayList<>(); // Adding elements to the ArrayList for (int i = 0; i < 10; i++) { al.add(i); } // Printing the original list System.out.println('Original List: ' + al); // Creating an Iterator for the ArrayList Iterator<Integer> itr = al.iterator(); // Iterating through the list and removing odd elements while (itr.hasNext()) { // Getting the next element int i = itr.next(); System.out.print(i + ' '); // Removing odd elements if (i % 2 != 0) { itr.remove(); } } System.out.println(); // Printing the modified list after removal of odd elements System.out.println('Modified List: ' + al); } }
Izvade
Original List: [0 1 2 3 4 5 6 7 8 9] 0 1 2 3 4 5 6 7 8 9 Modified List: [0 2 4 6 8]
Paskaidrojums: Iepriekš minētajā piemērā mēs izveidojam veselu skaitļu ArrayList, pēc tam atkārtojam to, izmantojot iteratoru, un noņem visus nepāra skaitļus. Tas izdrukā sarakstu pirms un pēc nepāra elementu noņemšanas un izdrukā modificēto sarakstu tikai ar pāra skaitļiem.