Java PriorityBlockingQueue add()方法

Java PriorityBlockingQueue add()方法

PriorityBlockingQueueadd(E e) 方法在这个PriorityBlockingQueue的尾部插入作为参数传递给该方法的元素。如果元素的添加成功,该方法返回true。否则就会返回false。

语法

public boolean add(E e)
Java

参数: 该方法需要一个强制参数 e ,它是要插入PriorityBlockingQueue中的元素。

返回: 该方法返回一个 布尔 响应。如果元素的添加成功,它返回 true ,否则返回 false。

异常: 该方法会抛出以下异常。

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

下面的程序说明了PriorityBlockingQueue的add()方法。

例1 :

// Java Program to Demonstrate add(E e) method
// of PriorityBlockingQueue.
 
import java.util.concurrent.PriorityBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
    {
        // define capacity of PriorityBlockingQueue
        int capacity = 15;
 
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<Integer> PrioBlockingQueue
            = new PriorityBlockingQueue<Integer>(capacity);
 
        // add  numbers
        PrioBlockingQueue.add(526734);
        PrioBlockingQueue.add(84879456);
        PrioBlockingQueue.add(4586415);
 
        // print queue after add operation
        System.out.println("After Adding Some Numbers");
        System.out.println("PriorityBlockingQueue:"
                           + PrioBlockingQueue);
 
        // add more numbers
        PrioBlockingQueue.add(156116);
        PrioBlockingQueue.add(61651191);
 
        // print queue after add operation
        System.out.println("\nAfter adding Some More Numbers");
        System.out.println("PriorityBlockingQueue:"
                           + PrioBlockingQueue);
    }
}
Java

输出

After Adding Some Numbers
PriorityBlockingQueue:[526734, 84879456, 4586415]

After adding Some More Numbers
PriorityBlockingQueue:[156116, 526734, 4586415, 84879456, 61651191]
Java

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

// Java Program to Demonstrate Exception
// thrown by add(E e) method
// of PriorityBlockingQueue.
 
import java.util.concurrent.PriorityBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
    {
        // define capacity of PriorityBlockingQueue
        int capacity = 15;
 
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<Integer> PrioBlockingQueue
            = new PriorityBlockingQueue<Integer>(capacity);
 
        // add numbers
        PrioBlockingQueue.add(526734);
        PrioBlockingQueue.add(84879456);
        PrioBlockingQueue.add(4586415);
        try {
            // try to add null to PrioBlockingQueue
            PrioBlockingQueue.add(null);
 
            // print PrioBlockingQueue after add operation
            System.out.println("PriorityBlockingQueue:"
                               + PrioBlockingQueue);
        }
        catch (Exception e) {
            System.out.println("Exception when adding null: "
                               + e);
        }
    }
}
Java

输出

Exception when adding null: java.lang.NullPointerException
Java

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册