Java中LinkedBlockingDeque poll()方法
LinkedBlockingDeque poll() 方法返回Deque容器中的前一个元素并将其删除。如果容器为空,则返回null。
语法:
public E poll()
参数: 此方法不接受任何参数。
返回值: 如果Deque容器不为空,则此方法返回Deque容器的前一个元素并将其删除。如果容器为空,则返回null。
下面的程序说明了LinkedBlockingDeque的poll()方法:
程序1:
// Java Program演示LinkedBlockingDeque的poll()
//方法。
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建LinkedBlockingDeque对象
LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque <Integer>();
//将数字添加到LinkedBlockingDeque的末尾
LBD.add(7855642);
LBD.add(35658786);
LBD.add(5278367);
LBD.add(74381793);
// 打印队列
System.out.println("Linked Blocking Deque: " + LBD);
System.out.println("Deque中的前一个元素: " + LBD.poll());
//由于调用了poll,因此删除了一个元素
System.out.println("Linked Blocking Deque: " + LBD);
}
}
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Deque中的前一个元素: 7855642
Linked Blocking Deque: [35658786, 5278367, 74381793]
程序2:
// Java程序演示LinkedBlockingDeque的poll()
//方法。当Deque为空时
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建LinkedBlockingDeque对象
LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque <Integer>();
//将数字添加到LinkedBlockingDeque的末尾
LBD.add(7855642);
LBD.add(35658786);
LBD.add(5278367);
LBD.add(74381793);
// 打印队列
System.out.println("Linked Blocking Deque: " + LBD);
//空的Deque
LBD.clear();
System.out.println("Deque中的前一个元素: " + LBD.poll());
}
}
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Deque中的前一个元素: null
参考: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingDeque.html#poll()
极客教程