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