Java中的ConcurrentLinkedQueue offer()方法
offer() 方法是在ConcurrentLinkedQueue的尾部插入传递的元素。如果插入成功,则此方法返回True。ConcurrentLinkedQueue是无界的,因此此方法offer()永远不会返回false。
语法:
public boolean offer(E e)
参数: 此方法接受一个单一的参数 e 它表示我们想要插入到此ConcurrentLinkedQueue中的元素。
返回: 此方法在成功插入元素后返回true。
异常: 如果指定的元素为null,则此方法会抛出 NullPointerException .
下面的程序演示了ConcurrentLinkedQueue的offer()方法:
示例1: 演示offer()方法用于添加字符串。
//Java程序演示offer()方法
//ConcurrentLinkedQueue的方法
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
//创建ConcurrentLinkedQueue
ConcurrentLinkedQueue<String>
queue = new ConcurrentLinkedQueue<String>();
//使用offer()方法将字符串添加到队列中
queue.offer("Aman");
queue.offer("Amar");
queue.offer("Sanjeet");
queue.offer("Rabi");
//显示现有的ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
}
}
ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi]
示例2: 演示offer()方法用于添加数字。
//Java程序演示offer()方法
//ConcurrentLinkedQueue的方法
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
//创建ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
//使用offer()方法将数字添加到队列中
queue.offer(4353);
queue.offer(7824);
queue.offer(78249);
queue.offer(8724);
//显示现有的ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
}
}
ConcurrentLinkedQueue: [4353, 7824, 78249, 8724]
示例3: 演示NullPointerException由offer()方法抛出添加null。
//Java程序演示offer()方法
//ConcurrentLinkedQueue的方法
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
//创建ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
//向队列中添加null
try {
queue.offer(null);
}
catch (NullPointerException e) {
System.out.println("Exception thrown"
+ " while adding null: " + e);
}
}
}
Exception thrown while adding null: java.lang.NullPointerException
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#offer-E-
极客教程