Java中的PriorityBlockingQueue add()方法

这个 加(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
喜欢就支持一下吧
点赞11 分享