Sobes.tech
Junior

Iterator nima va nima uchun kerak?

sobes.tech AI

AIdan javob

Java'da iterator, kolleksiyaning ichki tuzilishini bilmasdan ketma-ket elementlarni aylanib chiqishga imkon beradigan ob'ekt.

Iteratordan foydalanishning asosiy maqsadlari:

  • Abstraktsiya: Turli kolleksiya turlarining (ro'yxatlar, to'plamlar va boshqalar) elementlarini bir xil usul bilan aylanib chiqish.
  • Xavfsizlik: Elementlarni kolleksiyadan o'chirish imkonini beradi, aylanib chiqish jarayonida mantiqiy xatoliklarni buzmasdan.
  • Mustaqillik: Elementlarni aylanib chiqish kolleksiyaning aniq amalga oshirilishidan mustaqil.

Iterator<E> interfeysi uchta asosiy metodni belgilaydi:

  • hasNext(): Agar hali elementlar bo'lsa, true qaytaradi.
  • next(): Keyingi elementni qaytaradi.
  • remove(): So'nggi next() chaqiruvi bilan qaytarilgan elementni asosiy kolleksiyadan o'chiradi.

Foydalanish misoli:

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

// Iteratordan foydalanish misoli
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 yordamida elementlarni aylanib chiqish
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Elementni o'chirish misoli
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("O'chirilgandan keyin ro'yxat: " + list);
    }
}