Java中的BlockingDeque pollFirst()方法及其示例
BlockingDeque 的 pollFirst() 方法会返回Deque容器中的第一个元素,并将其删除。如果容器为空,则返回 null 。
语法:
public E pollFirst()
参数: 该方法不接受任何参数。
返回值: 如果容器不为空,则此方法返回Deque容器中的第一个元素并将其删除。如果容器为空,则返回null。
Note : Java中的 BlockingDeque 的pollFirst()方法已从LinkedBlockingDeque类继承而来。
下面的程序示例说明了 BlockingDeque 的pollFirst()方法:
Program 1:
//Java程序演示BlockingDeque的pollFirst()方法
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建BlockingDeque对象
BlockingDeque BD
= new LinkedBlockingDeque();
// 在BlockingDeque的末尾添加数字
BD.addFirst(7855642);
BD.addFirst(35658786);
BD.addFirst(5278367);
BD.addFirst(74381793);
// 打印队列
System.out.println("Blocking Deque: " + BD);
// 打印并删除
System.out.println("Front element in Deque: " + BD.pollFirst());
// 删除前一个元素后的BlockingDeque
System.out.println("Blocking Deque: " + BD);
}
}
Blocking Deque: [74381793, 5278367, 35658786, 7855642]
Front element in Deque: 74381793
Blocking Deque: [5278367, 35658786, 7855642]
Program 2:
//Java程序演示BlockingDeque的pollFirst()方法
//当Deque为空时
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建LinkedBlockingDeque对象
LinkedBlockingDeque BD
= new LinkedBlockingDeque();
// 在BlockingDeque的末尾添加数字
BD.add(7855642);
BD.add(35658786);
BD.add(5278367);
BD.add(74381793);
// 打印队列
System.out.println("Blocking Deque: " + BD);
//清空
BD.clear();
System.out.println("Front element in Deque: " + BD.pollFirst());
}
}
Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Front element in Deque: null
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#pollFirst(long,%20java.util.concurrent.TimeUnit)
极客教程