logo

Iterator în Java

În Java, an Iterator este unul dintre cursoarele Java. Iterator Java este o interfață care este practicată pentru a itera o colecție de componente de obiect Java în întregime una câte una. Este gratuit de utilizat în limbajul de programare Java din cadrul Java 1.2 Collection. Aparține pachetului java.util.

dublu la string java

Deși Java Iterator a fost introdus în Java 1.2, totuși, nu este încă cel mai vechi instrument disponibil pentru a parcurge elementele obiectului Collection. Cel mai vechi Iterator din limbajul de programare Java este Iteratorul predat Enumerator. Interfața Java Iterator îi urmează iteratorului enumerator care a fost practicat la început pentru a parcurge unele colecții accesibile precum ArrayLists.

Iteratorul Java este cunoscut și sub numele de cursor universal de Java, deoarece este potrivit pentru toate clasele cadrului Collection. Iteratorul Java ajută și la operațiuni precum READ și REMOVE. Când comparăm interfața Java Iterator cu interfața iteratorului de enumerare, putem spune că numele metodelor disponibile în Java Iterator sunt mai precise și mai ușor de utilizat.

Avantajele Java Iterator

Iteratorul în Java a devenit foarte răspândit datorită numeroaselor sale avantaje. Avantajele Java Iterator sunt prezentate după cum urmează -

  • Utilizatorul poate aplica aceste iteratoare la oricare dintre clasele cadrului Collection.
  • În Java Iterator, putem folosi atât operațiile de citire, cât și cele de eliminare.
  • Dacă un utilizator lucrează cu o buclă for, nu poate moderniza (adăuga/elimina) Colecția, în timp ce, dacă folosește Iteratorul Java, poate pur și simplu să actualizeze Colecția.
  • Iteratorul Java este considerat Cursorul Universal pentru API-ul Collection.
  • Numele metodelor din Java Iterator sunt foarte ușor și foarte simplu de utilizat.

Dezavantajele Java Iterator

În ciuda numeroaselor avantaje, Java Iterator are și diverse dezavantaje. Dezavantajele Java Iterator sunt prezentate mai jos -

css pentru bold
  • Iteratorul Java păstrează doar iterația în direcția înainte. Cu cuvinte simple, Java Iterator este un iterator unidirecțional.
  • Înlocuirea și extinderea unei noi componente nu sunt aprobate de Java Iterator.
  • În operațiunile CRUD, Java Iterator nu deține diferite operațiuni precum CREATE și UPDATE.
  • În comparație cu Spliterator, Java Iterator nu acceptă elemente de traversare în modelul paralel, ceea ce implică faptul că Java Iterator acceptă doar iterația secvențială.
  • În comparație cu Spliterator, Java Iterator nu acceptă o execuție mai fiabilă pentru a traversa volumul masiv de date.

Cum se utilizează Java Iterator?

Când un utilizator trebuie să folosească Java Iterator, atunci este obligatoriu ca acesta să facă o instanță a interfeței Iterator din colecția de obiecte pe care doresc să le traverseze. După aceea, Iteratorul primit menține traseul componentelor din colecția de bază pentru a se asigura că utilizatorul va traversa fiecare dintre elementele colecției de obiecte.

Dacă utilizatorul modifică colecția de bază în timp ce parcurge un Iterator care duce la acea colecție, atunci Iteratorul o va recunoaște de obicei și va arunca o excepție data viitoare când utilizatorul va încerca să obțină următoarea componentă de la Iterator.

Metode Java Iterator

Următoarea figură afișează perfect diagrama de clasă a interfeței Java Iterator. Conține în total patru metode care sunt:

  • areNext()
  • Următorul()
  • elimina()
  • forEachRemaining()

The forEachRemaining() metoda a fost adăugată în Java 8. Să discutăm fiecare metodă în detaliu.

    boolean areNext(): Metoda nu acceptă niciun parametru. Se returnează adevărat dacă au rămas mai multe elemente în iterație. Dacă nu mai sunt elemente rămase, atunci va returna false.
    Dacă nu mai sunt elemente rămase în iterație, atunci nu este nevoie să apelați metoda next(). Cu cuvinte simple, putem spune că metoda este folosită pentru a determina dacă metoda next() urmează să fie apelată sau nu.E următorul():Este similar cu metoda hasNext(). De asemenea, nu acceptă niciun parametru. Returnează E, adică următorul element din traversare. Dacă iterația sau colecția de obiecte nu mai are elemente de repetat, atunci se aruncă NoSuchElementException.implicit void remove():De asemenea, această metodă nu necesită niciun parametru. Nu există un tip de returnare al acestei metode. Funcția principală a acestei metode este de a elimina ultimul element returnat de iterator care traversează colecția de bază. Metoda remove () poate fi solicitată aproape o dată la următorul apel de metodă (). Dacă iteratorul nu acceptă operațiunea de eliminare, atunci lansează UnSupportedOperationException. De asemenea, aruncă IllegalStateException dacă următoarea metodă nu este încă apelată.implicit void forEachRemaining (acțiunea consumatorului):Este singura metodă a Java Iterator care preia un parametru. Acceptă acțiunea ca parametru. Acțiunea nu este altceva decât aceea de făcut. Nu există un tip de returnare al metodei. Această metodă efectuează operația particularizată pe toate componentele din stânga colecției până când toate componentele sunt consumate sau acțiunea aruncă o excepție. Excepțiile aruncate prin acțiune sunt livrate apelantului. Dacă acțiunea este nulă, atunci ea aruncă o excepție NullPointerException.

Exemplu de Iterator Java

Acum este timpul să executați un program Java pentru a ilustra avantajul interfeței Java Iterator. Codul de mai jos produce un ArrayList de nume de orașe. Apoi inițializam un iterator aplicând metoda iterator () din ArrayList. După aceea, lista este parcursă pentru a reprezenta fiecare element.

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(); } } 

Ieșire:

formula „mason”
 CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida 

Puncte de reținut

  • Java Iterator este o interfață adăugată în limbajul de programare Java în cadrul Java 1.2 Collection. Aparține pachetului java.util.
  • Este unul dintre cursorii Java care sunt exersați pentru a traversa obiectele cadrului de colecție.
  • Iteratorul Java este folosit pentru a repeta componentele obiectului de colecție una câte una.
  • Iteratorul Java este cunoscut și sub numele de cursorul universal al Java, deoarece este adecvat pentru toate clasele cadrului Collection.
  • Iteratorul Java acceptă și operațiuni precum READ și REMOVE.
  • Numele de metode ale clasei Iterator sunt foarte simple și ușor de utilizat în comparație cu numele metodelor din Enumeration Iterator.