Java PriorityBlockingQueue spliterator()方法
PriorityBlockingQueue 的 spliterator() 方法返回一个与PriorityBlockingQueue相同元素的 Spliterator 。返回的迭代器是弱一致性的。它可以在Java 8中与Streams一起使用。它也可以单独或批量地遍历元素。Spliterator是遍历元素的更好方法,因为它提供了对元素的更多控制。
语法
public Spliterator spliterator()
返回: 该方法在PriorityBlockingQueue中的元素上返回一个Spliterator。
下面的程序说明了PriorityBlockingQueue的splitator()方法。
例1: 演示PriorityBlockingQueue的spliterator()方法的程序,其中包含一个数字列表。
// Java Program Demonstrate spliterator()
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 5;
// create object of PriorityBlockingQueue
PriorityBlockingQueue<Integer> PrioQueue
= new PriorityBlockingQueue<Integer>(capacityOfQueue);
// Add numbers to PriorityBlockingQueue
PrioQueue.put(7855642);
PrioQueue.put(35658786);
PrioQueue.put(5278367);
PrioQueue.put(74381793);
PrioQueue.put(76487590);
PrioQueue.put(87625142);
// create Spliterator of PrioQueue
// using spliterator() method
Spliterator<Integer> numbers = PrioQueue.spliterator();
// print result from Spliterator
System.out.println("list of Numbers:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
输出:
list of Numbers:
5278367
35658786
7855642
74381793
76487590
87625142
例2: 演示PriorityBlockingQueue的splitator()方法的程序,其中包含一个名字列表。
// Java Program Demonstrate spliterator()
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 5;
// create object of PriorityBlockingQueue which contains
// name of students
PriorityBlockingQueue<String> names
= new PriorityBlockingQueue<String>(capacityOfQueue);
// Add names of students of girls college
names.add("Joyita");
names.add("Priyanka");
names.add("Joydeep");
// create Spliterator of PrioQueue
// using spliterator() method
Spliterator<String> list = names.spliterator();
// print result from Spliterator
System.out.println("list of Names:");
// forEachRemaining method of Spliterator
list.forEachRemaining((n) -> System.out.println(n));
}
}
输出:
list of Names:
Joydeep
Priyanka
Joyita
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#spliterator-