În timpul dezvoltării aplicațiilor, întâlnim de multe ori nevoia de a accesa toate elementele colecției. De exemplu, afișați aceste elemente.
Cea mai ușoară și cea mai eficientă metodă de a face acest lucru este folosirea unui iterator. Un iterator este un obiect care implementează interfețele Iterator. sau ListIterator.
Iteratorul ne permite să accesăm toate elementele colecției și să eliminăm cele necesare. ListIteratorul este moștenitorul Iteratorului și ne permite să "mergem" colecția în ambele direcții. ListIterator ne permite, de asemenea, să modificăm elementele.
Pentru a folosi iteratorul, trebuie mai întâi să îl obținem. Pentru a face acest lucru, trebuie să folosim metoda iterator ().
Iterator are aceste metode:
- bollean hasNext ()
Această metodă verifică dacă elementul următor există în colecție. Dacă există, atunci metoda returnează adevărat. dacă nu, falsă. - Obiectul următor ()
Această metodă returnează următorul element din colecție. Dacă elementul nu este găsit, metoda "aruncă" NoSuchElementException. - void remove ()
Această metodă șterge elementul curent. Punctul important este că mai întâi trebuie să obțineți acest element utilizând metoda următoare (). dacă apelăm eliminați () înainte de următoarea metodă (). atunci obținem o excepție ilegală.
ListIterator are un set mai larg de metode:
- void add (Object obj)
Această metodă adaugă elementul colecției în următoarea poziție după elementul obținut prin metoda următoare (). - boolean hasNext ()
Această metodă verifică dacă elementul următor există în colecție. Dacă există, atunci metoda returnează adevărat. dacă nu, falsă. - boolean hasPreviuos ()
Această metodă verifică dacă există un element anterior în colecție. Dacă există, atunci metoda returnează adevărat. dacă nu, falsă. - Obiectul următor ()
Această metodă returnează următorul element din colecție. Dacă elementul nu este găsit, metoda "aruncă" NoSuchElementException. - Obiect anterior ()
Această metodă returnează elementul anterior din colecție. Dacă elementul nu este găsit, metoda "aruncă" NoSuchElementException. - int nextIndex ()
Această metodă returnează indexul elementului următor. Dacă elementul următor este omis din colecție, dimensiunea colecției este returnată. - int previousIndex ()
Această metodă returnează indexul elementului anterior. Dacă elementul anterior este omis din colecție, acesta returnează -1. - set void (Object obj)
Această metodă atribuie elementului curent o valoare care este trecută ca parametru de metodă. - void remove ()
Această metodă șterge elementul curent. Punctul important este că mai întâi trebuie să obțineți acest element utilizând metoda următoare () sau utilizând metoda precedentă (). dacă apelăm remove () înainte de următoarea () sau metoda precedentă (). atunci obținem o excepție ilegală.
Pentru a înțelege cum funcționează acest lucru în practică, luați în considerare un exemplu de aplicare simplă.
Ca urmare a programului, obținem următorul rezultat:
În această secțiune, am învățat elementele de bază ale interfețelor Iterator și ListIterator. și un exemplu de aplicare simplă cu utilizarea sa.