PriorityBlockingQueue add()方法在Java中

PriorityBlockingQueue add()方法在Java中

PriorityBlockingQueue 类中的 add(E e) 方法将传递给它的元素插入到此PriorityBlockingQueue的末尾。如果元素添加成功,则此方法返回true;否则返回false。

语法:

public boolean add(E e)

参数: 此方法需要一个必需的参数 e ,即要插入到PriorityBlockingQueue中的元素。

返回值: 此方法返回一个 boolean 响应。如果元素添加成功,则返回 true ,否则返回 false

异常: 此方法抛出以下异常:

  • ClassCastException: 如果传递的元素不能与队列中包含的元素进行比较,以保持优先级队列的排序。
  • NullPointerException: 如果传递的元素为空。

下面的程序演示了PriorityBlockingQueue的add()方法:

示例1:

// Java程序演示add(E e)方法
//来自PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;

public class GFG {

    public static void main(String[] args)
    {
        //定义PriorityBlockingQueue的容量
        int capacity = 15;

        //创建PriorityBlockingQueue对象
        PriorityBlockingQueue<Integer> PrioBlockingQueue
            = new PriorityBlockingQueue<Integer>(capacity);

        //添加一些数字
        PrioBlockingQueue.add(526734);
        PrioBlockingQueue.add(84879456);
        PrioBlockingQueue.add(4586415);

        //在添加操作后打印队列
        System.out.println("添加一些数字后:");
        System.out.println("PriorityBlockingQueue:"
                               + PrioBlockingQueue);

        //添加更多数字
        PrioBlockingQueue.add(156116);
        PrioBlockingQueue.add(61651191);

        //在添加操作后打印队列
        System.out.println("\n添加更多数字后:");
        System.out.println("PriorityBlockingQueue:"
                               + PrioBlockingQueue);
    }
}

输出结果:

添加一些数字后:
PriorityBlockingQueue:[526734, 84879456, 4586415]

添加更多数字后:
PriorityBlockingQueue:[156116, 526734, 4586415, 84879456, 61651191]

示例2: 演示add()方法抛出NullPointerException。

// Java程序演示PriorityBlockingQueue的add(E e)方法抛出异常
 
import java.util.concurrent.PriorityBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
    {
        // 定义PriorityBlockingQueue的容量
        int capacity = 15;
 
        // 创建PriorityBlockingQueue对象
        PriorityBlockingQueue<Integer> PrioBlockingQueue
            = new PriorityBlockingQueue<Integer>(capacity);
 
        // 添加数字
        PrioBlockingQueue.add(526734);
        PrioBlockingQueue.add(84879456);
        PrioBlockingQueue.add(4586415);
        try {
            // 尝试向PriorityBlockingQueue添加null
            PrioBlockingQueue.add(null);
 
            // 在进行添加操作后打印PriorityBlockingQueue
            System.out.println("PriorityBlockingQueue:"
                               + PrioBlockingQueue);
        }
        catch (Exception e) {
            System.out.println("添加null时的异常: "
                               + e);
        }
    }
}

输出:

添加null时的异常: java.lang.NullPointerException

参考文献: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#add-E-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程