spliterator()
Java ArrayList spliterator() metodi
Misol
Ro‘yxat elementlarini aylanib chiqish uchun Spliterator obyektidan foydalaning:
import java.util.ArrayList;
import java.util.Spliterator;
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 spliterator and split it
Spliterator<String> it1 = cars.spliterator();
Spliterator<String> it2 = it1.trySplit();
// Loop through the first spliterator
System.out.println("First spliterator");
while( it1.tryAdvance( (n) -> { System.out.println(n); } ) );
// Loop through the second spliterator
System.out.println("\nSecond spliterator");
while( it2.tryAdvance( (n) -> { System.out.println(n); } ) );
}
}
Eslatma: while( it1.tryAdvance( (n) -> { System.out.println(n); } ) ); sintaksisi quyidagiga teng kuchli:
boolean x = it1.tryAdvance( (n) -> { System.out.println(n); });
while(x) {
x = it1.tryAdvance( (n) -> { System.out.println(n); });
}
Ta’rif va qo‘llanilishi
spliterator() metodi ro‘yxat uchun Spliterator obyektini qaytaradi.
Spliterator — iteratorning maxsus turi. Iteratorlardan qanday foydalanishni o‘rganish uchun Java Iterator darsligimizga qarang.
Spliterator oddiy iteratordan ancha farq qiladi. Spliteratorning vazifasi — kolleksiyani kichikroq qismlarga ajratish, shunda har bir qismni alohida oqim (thread) qayta ishlay oladi. Spliterator interfeysida ikkita muhim metod bor:
trySplit()- asl spliterator murojaat qila oladigan elementlarning (odatda va taxminan) yarmini aylanib chiqa oladigan yangi spliterator qaytaradi, asl spliterator esa qolgan yarmini aylanib chiqa oladi.tryAdvance(Consumer action)- spliterator uchun mavjud bo‘lgan keyingi elementga o‘tadi va u ustida amal bajarishga harakat qiladi. Agar keyingi element bo‘lmasa,falseqaytaradi. Amalni lambda ifodasi orqali belgilash mumkin.
Sintaksis
public Spliterator spliterator()
Texnik tafsilotlar
| Qaytaradi: | Spliterator obyekti. |
|---|---|
| Java versiyasi: | 1.8+ |
Tegishli sahifalar
❮ ArrayList metodlari
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
