Sobes.tech
Junior

Ce este un iterator și pentru ce este necesar?

sobes.tech AI

Răspuns de la AI

Un iterator în Java este un obiect care permite parcurgerea secvențială a elementelor unei colecții fără a fi nevoie să cunoașteți structura internă a acesteia.

Obiectivele principale ale utilizării iteratorului:

  • Abstracție: Oferă o metodă unificată de parcurgere a elementelor pentru diferite tipuri de colecții (liste, mulțimi etc.).
  • Securitate: Permite eliminarea elementelor din colecție în timpul iterării fără a încălca logica de parcurgere.
  • Independență: Parcurgerea elementelor nu depinde de implementarea concretă a colecției.

Interfața Iterator<E> definește trei metode principale:

  • hasNext(): Returnează true dacă mai există elemente în iterare.
  • next(): Returnează următorul element în iterare.
  • remove(): Șterge din colecția de bază elementul returnat de ultima apelare a next().

Exemplu de utilizare:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

// Exemplu de utilizare a iteratorului
public class IteratorExample {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();

        // Parcurgerea elementelor cu iteratorul
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Ștergerea unui element în timpul iterării (exemplu)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("După ștergere: " + list);
    }
}