Iterator: কালেকশনের এলিমেন্ট সিকোয়েনশিয়ালি ট্রাভার্স করে (External Iteration)।
Spliterator (Java 8): প্যারালেল প্রসেসিংয়ের জন্য ডিজাইন করা। স্ট্রিমের সাথে কাজ করে। trySplit() দিয়ে পার্টিশন করে প্যারালেলি ট্রাভার্স করতে পারে (Internal Iteration)।
| ক্র. নং | বিষয় | Iterator | Spliterator |
|---|---|---|---|
| ১ | ট্রাভার্সাল | সিকোয়েনশিয়াল | সিকোয়েনশিয়াল + প্যারালেল |
| ২ | বাল্ক অপারেশন | না | হ্যাঁ (trySplit) |
| ৩ | ইটারেশন টাইপ | External | Internal |
| ৪ | স্ট্রিম সাপোর্ট | নাও | হ্যাঁ |
Spliterator উদাহরণ
import java.util.*;
import java.util.Spliterator;
public class Main {
public static void main(String[] args) {
List list = Arrays.asList(78, 10, 20, 30);
Spliterator split = list.spliterator();
Spliterator split2 = split.trySplit(); // halve it
System.out.println("First half:");
split.forEachRemaining(System.out::println);
System.out.println("Second half:");
split2.forEachRemaining(System.out::println);
}
}