Java PriorityBlockingQueue spliterator()方法

Java PriorityBlockingQueue spliterator()方法

PriorityBlockingQueuespliterator() 方法返回一个与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-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程