Java Iterator
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());
}
}
Kolleksiya bo‘ylab sikl
Kolleksiya bo‘ylab aylanib chiqish uchun Iterator obyektining hasNext() va next() metodlaridan foydalaning:
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);
}
}
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();
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!
