Java 中的 LinkedBlockingDeque spliterator() 方法
LinkedBlockingDeque 类的 spliterator() 方法返回一个 Spliterator,用于遍历 LinkedBlockingDeque 的元素。返回的迭代器是弱一致的,可以与 Java 8 中的流一起使用。Spliterator 可以单独遍历元素,也可以批量遍历。
语法:
public Spliterator spliterator()
返回值: 此方法返回一个 Spliterator,可以遍历 LinkedBlockingDeque 中的元素。
下面的程序演示了 LinkedBlockingDeque 的 spliterator() 方法:
程序 1:
// Java Program to demonstrate spliterator()
// method of LinkedBlockingDeque
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of LinkedBlockingDeque
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>();
// Add elements
LBD.add(22);
LBD.add(34);
LBD.add(45);
LBD.add(67);
// create Spliterator of Deque
// using spliterator() method
Spliterator<Integer> numbers = LBD.spliterator();
// getExactSize of Spliterator
System.out.println("Size of Spliterator : "
+ numbers.estimateSize());
System.out.println("list of Numbers:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
Size of Spliterator : 4
list of Numbers:
22
34
45
67
程序 2:
// Java Program to demonstrate spliterator()
// method of LinkedBlockingDeque
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of LinkedBlockingDeque
LinkedBlockingDeque<String> LBD
= new LinkedBlockingDeque<String>();
// Add numbers to front of LinkedBlockingDeque
LBD.add("Geeks");
LBD.add("forGeeks");
LBD.add("A");
LBD.add("Computer");
LBD.add("Portal");
// create Spliterator of Deque
// using spliterator() method
Spliterator<String> numbers = LBD.spliterator();
// getExactSize of Spliterator
System.out.println("Size of Spliterator : "
+ numbers.estimateSize());
System.out.println("list of Strings:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
Size of Spliterator : 5
list of Strings:
Geeks
forGeeks
A
Computer
Portal
参考: <https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingDeque.html#spliterator–
极客教程