Java PriorityQueue spliterator()方法
PriorityQueue的 splitator() 方法返回一个 与PriorityQueue相同元素的Spliterator ,返回的Spliterator是 晚期绑定和故障快速的 Spliterator。晚期绑定的Spliterator是指在第一次遍历、第一次拆分或第一次查询估计大小的时候,而不是在创建Spliterator的时候绑定到元素的来源。它可以在Java 8中与Streams一起使用。同时,它也可以单独或批量地遍历元素。Spliterator是遍历元素的更好方法,因为它提供了对元素的更多控制。
语法
public Spliterator<E> spliterator()
返回: 该方法在PriorityQueue中的元素上返回一个Spliterator。
下面的程序说明了 PriorityQueue 的 spliterator() 方法。
例1: 演示PriorityQueue的splitator()方法。
// Java Program Demonstrate spliterator()
// method of PriorityQueue
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an PriorityQueue
PriorityQueue<String> queue = new PriorityQueue<String>();
// Add String to queue
queue.add("Kolkata");
queue.add("Patna");
queue.add("Delhi");
queue.add("Jammu");
// using spliterator() method
Spliterator<String> spt = queue.spliterator();
// print result from Spliterator
System.out.println("list of Strings:");
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> System.out.println(n));
}
}
输出:
list of Strings:
Delhi
Jammu
Kolkata
Patna
例2: 在包含一组学生姓名的PriorityQueue上演示spliterator()方法。
// Java Program Demonstrate spliterator()
// method of PriorityQueue
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an PriorityQueue which going to
// contain list of names
PriorityQueue<String> queue = new PriorityQueue<String>();
// Add String object to queue
queue.add("Aman");
queue.add("Amar");
queue.add("Sanjeet");
queue.add("Josh");
queue.add("Ron");
queue.add("Kevin");
// using spliterator() method
Spliterator<String> spt = queue.spliterator();
// print result from Spliterator
System.out.println("list of String Object:");
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> print(n));
}
public static void print(String s)
{
System.out.println("Student Name: " + s);
}
}
输出:
list of String Object:
Student Name: Aman
Student Name: Amar
Student Name: Kevin
Student Name: Josh
Student Name: Ron
Student Name: Sanjeet
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html#spliterator-