Java中的ConcurrentLinkedQueue offer()方法

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-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程