Java LinkedBlockingDeque spliterator()方法
LinkedBlockingDeque 的 spliterator() 方法在LinkedBlockingDeque的元素上返回一个Spliterator。返回的迭代器是弱一致性的。Spliterator可以在Java 8中与Streams一起使用。Spliterator可以单独或批量地遍历元素。
语法
public Spliterator spliterator()
返回: 该方法返回LinkedBlockingDeque中的元素的Spliterator。
下面的程序说明了LinkedBlockingDeque的splitator()方法。
程序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-
极客教程