Sobes.tech
Junior

Mi az az iterátor és mire való?

sobes.tech MI

Válasz az MI-től

A Java-ban az iterator egy olyan objektum, amely lehetővé teszi egy kollekció elemeinek szekvenciális végigjárását anélkül, hogy ismernünk kellene annak belső szerkezetét.

Az iterator használatának fő céljai:

  • Általánosítás: Egységes módot biztosít különböző típusú kollekciók (listák, halmazok stb.) elemeinek végigjárására.
  • Biztonság: Lehetővé teszi az elemek eltávolítását a kollekcióból az iteráció során anélkül, hogy megsértené a végigjárás logikáját.
  • Függetlenség: Az elemek végigjárása nem függ a kollekció konkrét megvalósításától.

Az Iterator<E> interfész három fő metódust határoz meg:

  • hasNext(): Igazat ad vissza, ha még vannak elemek az iterációban.
  • next(): A következő elemet adja vissza az iterációban.
  • remove(): Eltávolítja az utolsó next() hívás által visszaadott elemet az alap kollekcióból.

Használati példa:

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

// Iterator használati példa
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();

        // Elemenetek végigjárása az iterator segítségével
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Elem törlése az iteráció során (példa)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("Törlés után: " + list);
    }
}