Sobes.tech
Junior

Šta je iterator i čemu služi?

sobes.tech АИ

Одговор од АИ

Iterator u Javi je objekat koji omogućava sekvencijalno prolazak kroz elemente kolekcije bez potrebe da se poznaje njena unutrašnja struktura.

Glavni ciljevi korišćenja iteratora:

  • Apstrakcija: Pruža jedinstven način za prolazak kroz elemente različitih tipova kolekcija (liste, skupovi itd.).
  • Bezbednost: Omogućava brisanje elemenata iz kolekcije tokom iteracije bez narušavanja logike prolaska.
  • Nezavisnost: Prolazak kroz elemente ne zavisi od konkretne implementacije kolekcije.

Interfejs Iterator<E> definiše tri glavne metode:

  • hasNext(): Vraća true ako u iteraciji još postoje elementi.
  • next(): Vraća sledeći element u iteraciji.
  • remove(): Uklanja iz osnovne kolekcije element koji je vraćen poslednjim pozivom next().

Primer upotrebe:

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

// Primer upotrebe iteratora
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();

        // Prolazak kroz elemente pomoću iteratora
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Brisanje elementa tokom iteracije (primer)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("Nakon brisanja: " + list);
    }
}