Sobes.tech
Junior

İteratör nedir ve ne işe yarar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da iterator, koleksiyonun iç yapısını bilmeden öğeleri ardışık olarak dolaşmaya olanak tanıyan bir nesnedir.

Iterator kullanımının temel amaçları:

  • Soyutlama: Farklı koleksiyon türleri (listeler, kümeler vb.) için öğeleri dolaşmanın tek bir yolunu sağlar.
  • Güvenlik: Döngü sırasında koleksiyondan öğeleri silmeye izin verir, böylece dolaşma mantığını bozmadan.
  • Bağımsızlık: Öğelerin dolaşımı, koleksiyonun belirli uygulamasına bağlı değildir.

Iterator<E> arayüzü üç temel yöntem tanımlar:

  • hasNext(): Döngüde hâlâ öğe varsa true döner.
  • next(): Bir sonraki öğeyi döner.
  • remove(): Son next() çağrısı tarafından döndürülen öğeyi temel koleksiyondan siler.

Kullanım örneği:

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

// Iterator kullanım örneği
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();

        // Iterator kullanarak öğeleri dolaşma
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Döngü sırasında öğe silme (örnek)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("Silme sonrası liste: " + list);
    }
}