这个 加(E) 方法 优先阻塞队列 在PriorityBlockingQueue末尾插入作为参数传递给方法的元素。如果元素添加成功,此方法返回true。否则返回false。
null
语法:
public boolean add(E e)
参数: 此方法采用强制参数 E 这是要插入PriorityBlockingQueue的元素。
返回: 此方法返回一个 布尔值 回答它回来了 符合事实的 如果元素添加成功,则返回 错误的 .
例外情况: 此方法引发以下异常:
- ClassCastException: 如果作为参数传递的元素无法与队列中包含的元素进行比较,以保持队列的优先级。
- NullPointerException: 如果作为参数传递的元素为null。
下面的程序演示了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( "After adding Some More Numbers" ); System.out.println( "PriorityBlockingQueue:" + PrioBlockingQueue); } } |
输出:
After Adding Some Numbers PriorityBlockingQueue:[526734, 84879456, 4586415] After adding Some More Numbers PriorityBlockingQueue:[156116, 526734, 4586415, 84879456, 61651191]
例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); } } } |
输出:
Exception when adding null: java.lang.NullPointerException
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#add-E-
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END