📜  Java中的 PriorityQueue spliterator() 方法

📅  最后修改于: 2022-05-13 01:55:08.231000             🧑  作者: Mango

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–