Java valodā an Iterators ir viens no Java kursoriem. Java iterators ir interfeiss, kas tiek praktizēts, lai pa vienam atkārtotu Java objektu komponentu kolekciju. Kopš Java 1.2 Collection ietvara to var bez maksas izmantot Java programmēšanas valodā. Tas pieder java.util pakotnei.
Lai gan Java Iterator tika ieviests Java 1.2 versijā, tas joprojām nav vecākais pieejamais rīks, lai pārvietotos pa kolekcijas objekta elementiem. Vecākais iterators Java programmēšanas valodā ir Enumerator pirms Iterator. Java Iterator interfeiss seko skaitītāja iteratoram, kas tika praktizēts sākumā, lai šķērsotu dažas pieejamas kolekcijas, piemēram, ArrayLists.
Java Iterator ir pazīstams arī kā universāls kursors Java, jo tas ir piemērots visām Collection ietvara klasēm. Java Iterator palīdz arī tādās darbībās kā LASĪT un NOŅEMT. Salīdzinot Java Iterator saskarni ar uzskaitīšanas iteratora saskarni, mēs varam teikt, ka Java Iterator pieejamo metožu nosaukumi ir precīzāki un vienkāršāki lietojami.
Java Iterator priekšrocības
Iterators Java kļuva ļoti izplatīts, pateicoties tā daudzajām priekšrocībām. Java Iterator priekšrocības ir norādītas šādi:
- Lietotājs var lietot šos iteratorus jebkurai kolekcijas ietvara klasēm.
- Programmā Java Iterator mēs varam izmantot gan lasīšanas, gan noņemšanas darbības.
- Ja lietotājs strādā ar for cilpu, viņš nevar modernizēt (pievienot/noņemt) kolekciju, savukārt, ja viņš izmanto Java iteratoru, viņš var vienkārši atjaunināt kolekciju.
- Java Iterator tiek uzskatīts par kolekcijas API universālo kursoru.
- Java Iteratora metožu nosaukumi ir ļoti vienkārši un ļoti vienkārši lietojami.
Java Iterator trūkumi
Neskatoties uz daudzajām priekšrocībām, Java Iteratoram ir arī dažādi trūkumi. Java Iterator trūkumi ir norādīti zemāk -
- Java iterators saglabā iterāciju tikai uz priekšu. Vienkāršiem vārdiem sakot, Java Iterator ir vienvirziena iterators.
- Java Iterator neapstiprina jauna komponenta aizstāšanu un paplašināšanu.
- Programmā CRUD Operations Java Iterator nesatur dažādas darbības, piemēram, CREATE un UPDATE.
- Salīdzinot ar sadalītāju, Java Iterator neatbalsta elementu šķērsošanu paralēlā shēmā, kas nozīmē, ka Java Iterator atbalsta tikai secīgu iterāciju.
- Salīdzinot ar sadalītāju, Java Iterator neatbalsta uzticamāku izpildi, lai šķērsotu lielapjoma datu apjomu.
Kā lietot Java Iterator?
Ja lietotājam ir jāizmanto Java Iterator, viņam ir obligāti jāizveido Iterator interfeisa eksemplārs no objektu kolekcijas, kurām viņi vēlas pārvietoties. Pēc tam saņemtais iterators uztur pamatā esošās kolekcijas komponentu izsekošanu, lai pārliecinātos, ka lietotājs šķērsos katru no objektu kolekcijas elementiem.
Ja lietotājs modificē pamatā esošo kolekciju, šķērsojot iteratoru, kas ved uz šo kolekciju, iterators parasti to atzīs un nākamreiz, kad lietotājs mēģinās iegūt nākamo komponentu no iteratora, izdarīs izņēmumu.
Java iteratora metodes
Nākamajā attēlā ir lieliski parādīta Java Iterator saskarnes klases diagramma. Tas satur pavisam četras metodes, kas ir:
- hasNext()
- Nākamais()
- noņemt ()
- forEachRemaining()
The forEachRemaining() metode tika pievienota Java 8. Apspriedīsim katru metodi sīkāk.
Ja iterācijā vairs nav palicis neviens elements, tad nav nepieciešams izsaukt next() metodi. Vienkāršiem vārdiem sakot, mēs varam teikt, ka metode tiek izmantota, lai noteiktu, vai next() metode ir jāizsauc vai nē.
Java Iterator piemērs
Tagad ir pienācis laiks izpildīt Java programmu, lai ilustrētu Java Iterator saskarnes priekšrocības. Tālāk norādītais kods veido pilsētu nosaukumu ArrayList. Pēc tam mēs inicializējam iteratoru, izmantojot ArrayList iterator () metodi. Pēc tam saraksts tiek šķērsots, lai attēlotu katru elementu.
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(); } }
Izvade:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Punkti, kas jāatceras
- Java Iterator ir saskarne, kas pievienota Java programmēšanas valodai Java 1.2 Collection ietvaros. Tas pieder java.util pakotnei.
- Tas ir viens no Java kursoriem, kas tiek praktizēts, lai šķērsotu kolekcijas sistēmas objektus.
- Java iterators tiek izmantots kolekcijas objekta komponentu atkārtošanai pa vienam.
- Java Iterator ir pazīstams arī kā universālais Java kursors, jo tas ir piemērots visām kolekcijas ietvara klasēm.
- Java Iterator atbalsta arī tādas darbības kā READ un REMOVE.
- Iterator klases metožu nosaukumi ir ļoti vienkārši un viegli lietojami, salīdzinot ar Enumeration Iterator metožu nosaukumiem.