Java中的 PriorityQueue spliterator() 方法
PriorityQueue 的spliterator()方法返回一个Spliterator 与 PriorityQueue 相同的元素。返回的 Spliterator 是后期绑定和快速失败的Spliterator。后期绑定 Spliterator 绑定到元素源意味着 PriorityQueue 在第一次遍历、第一次拆分或第一次查询估计大小时,而不是在创建 Spliterator 时。它可以与Java 8 中的 Streams 一起使用。它也可以单独和批量遍历元素。 Spliterator 是遍历元素的更好方法,因为它提供了对元素的更多控制。
句法:
public Spliterator spliterator()
返回:此方法返回优先队列中元素的拆分器。
下面的程序说明了 PriorityQueue 的 spliterator() 方法:
示例 1:演示 PriorityQueue 上的 spliterator() 方法。
// Java Program Demonstrate spliterator()
// method of PriorityQueue
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an PriorityQueue
PriorityQueue queue = new PriorityQueue();
// Add String to queue
queue.add("Kolkata");
queue.add("Patna");
queue.add("Delhi");
queue.add("Jammu");
// using spliterator() method
Spliterator 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 queue = new PriorityQueue();
// 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 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: Java/util/PriorityQueue.html#spliterator–