Java中的ConcurrentLinkedQueue poll()方法
ConcurrentLinkedQueue 中的 poll() 方法用于删除并返回此ConcurrentLinkedQueue的头部。如果ConcurrentLinkedQueue为空,则此方法将返回null。
语法:
public E poll()
返回值:
此方法将删除并返回此ConcurrentLinkedQueue的头部或null(如果此队列为空)。
以下程序说明ConcurrentLinkedQueue的poll()方法:
示例1:
//Java程序演示ConcurrentLinkedQueue的poll()方法
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
//创建一个ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
//将数字添加到队列中
queue.add(4353);
queue.add(7824);
queue.add(78249);
queue.add(8724);
//显示现有的ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
//应用poll()
int response1 = queue.poll();
//应用后的输出
System.out.println("Head: " + response1);
//显示现有的ConcurrentLinkedQueue
System.out.println("Current ConcurrentLinkedQueue: " + queue);
}
}
ConcurrentLinkedQueue: [4353, 7824, 78249, 8724]
Head: 4353
Current ConcurrentLinkedQueue: [7824, 78249, 8724]
示例2:
//Java程序演示ConcurrentLinkedQueue的poll()方法
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
//创建一个ConcurrentLinkedQueue
ConcurrentLinkedQueue<String>
queue = new ConcurrentLinkedQueue<String>();
//将字符串添加到队列中
queue.add("Aman");
queue.add("Amar");
queue.add("Sanjeet");
queue.add("Rabi");
//显示现有的ConcurrentLinkedQueue
System.out.println("ConcurrentLinkedQueue: " + queue);
//对队列应用poll()
String response1 = queue.poll();
//应用后的输出
System.out.println("Head: " + response1);
//显示现有的ConcurrentLinkedQueue
System.out.println("Current ConcurrentLinkedQueue: " + queue);
//对队列应用多次poll()
queue.poll();
queue.poll();
//显示现有的ConcurrentLinkedQueue
System.out.println("After 2 poll() applied\n"
+ "ConcurrentLinkedQueue: " + queue);
}
}
ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi]
Head: Aman
Current ConcurrentLinkedQueue: [Amar, Sanjeet, Rabi]
After 2 poll() applied
ConcurrentLinkedQueue: [Rabi]
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#poll–
极客教程