spliterator()

Java LinkedList spliterator() metodi

❮ LinkedList metodlari


Misol

Ro‘yxat elementlarini aylanib chiqish uchun Spliterator obyektidan foydalaning:

import java.util.LinkedList;
import java.util.Spliterator;

public class Main {
  public static void main(String[] args) {
  
    // Make a collection
    LinkedList<String> cars = new LinkedList<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); } ) );
  }
}

O‘zingiz sinab ko‘ring »

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); });
}

ULASHISH

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, false qaytaradi. Amalni lambda ifodasi orqali belgilash mumkin.

Sintaksis

public Spliterator spliterator()

Texnik tafsilotlar

Qaytaradi: Spliterator obyekti.
Java versiyasi: 1.8+

Tegishli sahifalar

Java massivlari darsligi

Java LinkedList darsligi

Java Iterator darsligi


❮ LinkedList metodlari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!