Java中的 BlockingDeque poll() 方法及示例
BlockingDeque的poll()方法返回 Deque 容器中的最前面的元素并将其删除。如果容器为空,则返回null 。
句法:
public E poll()
参数:此方法不接受任何参数。
返回:如果容器不为空,则此方法返回 Deque 容器的前元素并将其删除。如果容器为空,则返回null 。
注意: BlockingDeque的 poll() 方法继承自Java中的 LinkedBlockingDeque 类。
下面的程序说明了 BlockingDeque 的 poll() 方法:
方案一:
// Java Program Demonstrate poll()
// method of BlockingDeque
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of BlockingDeque
BlockingDeque BD
= new LinkedBlockingDeque();
// Add numbers to end of BlockingDeque
BD.add(7855642);
BD.add(35658786);
BD.add(5278367);
BD.add(74381793);
// Print the queue
System.out.println("Blocking Deque: " + BD);
System.out.println("Front element in Deque: " + BD.poll());
// One element is deleted as poll was called
System.out.println("Blocking Deque: " + BD);
}
}
输出:
Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Front element in Deque: 7855642
Blocking Deque: [35658786, 5278367, 74381793]
方案二:
// Java Program Demonstrate poll()
// method of BlockingDeque
// when Deque is empty
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of BlockingDeque
BlockingDeque BD
= new LinkedBlockingDeque();
// Add numbers to end of BlockingDeque
BD.add(7855642);
BD.add(35658786);
BD.add(5278367);
BD.add(74381793);
// Print the queue
System.out.println("Blocking Deque: " + BD);
// empty deque
BD.clear();
System.out.println("Front element in Deque: " + BD.poll());
}
}
输出:
Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Front element in Deque: null
参考: https: Java/util/concurrent/BlockingDeque.html#poll(long, %20java.util.concurrent.TimeUnit)