Sobes.tech
Junior

Mis on iterator ja milleks see on vajalik?

sobes.tech AI

Vastus AI-lt

Java's iterator on objekt, mis võimaldab järjepidevalt läbi käia kogumi elemente ilma vajaduseta teada selle sisemist struktuuri.

Iteratori peamised eesmärgid:

  • Abstraktsioon: Pakub ühtset viisi elementide läbimiseks erinevat tüüpi kogumite (nimekirjad, kogumid jne) jaoks.
  • Turvalisus: Võimaldab elemente kogumist eemaldada iteratsiooni ajal ilma läbimise loogikat rikkumata.
  • Sõltumatus: Elementide läbimine ei sõltu konkreetse kogumi rakendusest.

Iterator<E> liides määratleb kolm peamist meetodit:

  • hasNext(): Tagastab true, kui iteratsioonil on veel elemente.
  • next(): Tagastab järgmise elemendi iteratsioonil.
  • remove(): Eemaldab aluseks olevast kogumist viimase next() kutsega tagastatud elemendi.

Näide kasutamisest:

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

// Näide iteratori kasutamisest
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();

        // Elementide läbimine iteratoriga
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Elementide eemaldamine iteratsiooni ajal (näide)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("Pärast eemaldamist: " + list);
    }
}