Java中的PriorityBlockingQueue put()方法
PriorityBlockingQueue 类的 put(E e) 方法用于 向此队列中添加元素 。该方法将指定的元素插入这个优先队列中。由于队列是无限制的,因此此方法永远不会被阻塞。
语法:
public void put(E e)
参数: 此方法接受一个强制性参数 e ,即要插入PriorityBlockingQueue中的元素。
返回值: 该方法不返回任何内容。
异常: 此方法引发以下异常:
- ClassCastException - 如果指定的元素无法根据优先级队列的排序与当前优先级队列中的元素进行比较。
- NullPointerException - 如果指定的元素为null。
以下程序说明了PriorityBlockingQueue中的put()方法:
程序1:
// Java程序演示PriorityBlockingQueue的put(E e)方法
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// 创建PriorityBlockingQueue对象
PriorityBlockingQueue<Integer> pbq
= new PriorityBlockingQueue<Integer>();
// 使用put()方法添加元素
pbq.put(1);
pbq.put(2);
pbq.put(3);
pbq.put(4);
// 打印队列的元素
System.out.println("Queue: " + pbq);
}
}
输出:
Queue: [1, 2, 3, 4]
程序2: 演示NullPointerException
// Java程序演示PriorityBlockingQueue的put(E e)方法
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// 创建PriorityBlockingQueue对象
PriorityBlockingQueue<String> pbq
= new PriorityBlockingQueue<String>();
// 尝试在put方法中放入空值
try {
pbq.put(null);
}
catch (Exception e) {
// 打印错误详细信息
System.out.println("Exception: " + e);
}
}
}
输出:
Exception: java.lang.NullPointerException
极客教程