Java PriorityBlockingQueue put()方法
PriorityBlockingQueue 的 put(E e) 方法是用来 将一个元素加入这个队列的。 这个方法将指定的元素插入到这个优先级队列中。由于队列是无界的,这个方法将永远不会被阻塞。
语法:
public void put(E e)
参数: 该方法接受一个强制参数 e ,它是要插入PriorityBlockingQueue中的元素。
返回值: 该方法不返回任何东西。
异常: 该方法抛出以下异常:
- ClassCastException – 如果指定的元素不能根据优先级队列的排序与当前优先级队列中的元素进行比较。
- NullPointerException – 如果指定的元素为空。
以下程序说明了PriorityBlockingQueue中的put()方法:
程序1:
// Java Program Demonstrate put(E e)
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// create object of PriorityBlockingQueue
PriorityBlockingQueue<Integer> pbq
= new PriorityBlockingQueue<Integer>();
// Add element using put() method
pbq.put(1);
pbq.put(2);
pbq.put(3);
pbq.put(4);
// print elements of queue
System.out.println("Queue: " + pbq);
}
}
输出
Queue: [1, 2, 3, 4]
程序2: 演示NullPointerException
// Java Program Demonstrate put(E e)
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// create object of PriorityBlockingQueue
PriorityBlockingQueue<String> pbq
= new PriorityBlockingQueue<String>();
// try to put null value in put method
try {
pbq.put(null);
}
catch (Exception e) {
// print error details
System.out.println("Exception: " + e);
}
}
}
输出
Exception: java.lang.NullPointerException