Java Iterator


ULASHISH

Java Iterator

Iterator — ArrayList va HashSet kabi kolleksiyalar bo‘ylab aylanib chiqish uchun ishlatiladigan obyekt.

U "iterator" deb ataladi, chunki "iteratsiya" (iterating) sikl bajarishning texnik atamasidir.

Iterator’dan foydalanish uchun uni java.util paketidan import qilishingiz kerak.


Iterator olish

iterator() metodi yordamida istalgan kolleksiya uchun Iterator olish mumkin:

Misol

// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}

O‘zingiz sinab ko‘ring »


Kolleksiya bo‘ylab sikl

Kolleksiya bo‘ylab aylanib chiqish uchun Iterator obyektining hasNext() va next() metodlaridan foydalaning:

Misol

while(it.hasNext()) {
  System.out.println(it.next());
}

O‘zingiz sinab ko‘ring »



Kolleksiyadan elementlarni o‘chirish

Iteratorlar o‘zlari aylanib chiqayotgan kolleksiyalarni oson o‘zgartirish uchun mo‘ljallangan. remove() metodi sikl davomida kolleksiyadan elementlarni o‘chira oladi.

Misol

Kolleksiyadan 10 dan kichik sonlarni o‘chirish uchun iteratordan foydalaning:

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

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }
    System.out.println(numbers);
  }
}

O‘zingiz sinab ko‘ring »

Eslatma: Elementlarni for sikli yoki for-each sikli yordamida o‘chirishga urinish to‘g‘ri ishlamaydi, chunki kod sikl bo‘ylab aylanayotgan paytda kolleksiyaning o‘lchami ham o‘zgarib boradi.


Iteratorlar bilan var kalit so‘zi

Iteratorlar bilan var kalit so‘zidan ham foydalanishingiz mumkin. Bu uzun Iterator<String> tip nomini takrorlashdan qutqaradi, chunki kompilyator tipni kolleksiyadan allaqachon biladi.

Bu kodni qisqartiradi, lekin ko‘plab dasturchilar aniqlik uchun hanuz to‘liq tipdan foydalanadi. var Java 10-versiyadan boshlab ishlatilishi mumkin bo‘lgani uchun uni boshqa kodlarda uchratishingiz mumkin, shu sababli uning mavjudligini bilib qo‘ygan ma’qul:

Misol

// Without var
Iterator<String> it = cars.iterator();

// With var
var it = cars.iterator();

O‘zingiz sinab ko‘ring »

Bu yerda var iterator e’lonini qisqartiradi, lekin haqiqiy tip baribir Iterator<String> bo‘lib qoladi.


Iterator bo‘yicha to‘liq ma’lumotnoma

Iterator metodlarining to‘liq ro‘yxati uchun Java Iterator ma’lumotnomasi sahifasiga o‘ting.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!