Java中BlockingDeque的pollLast()方法及其示例
BlockingDeque 的 pollLast() 方法返回Deque容器的最后一个元素,并将其删除。如果容器为空,则返回 null 。
语法:
public E pollLast()
参数: 该方法不接受任何参数。
返回值: 如果容器不为空,则该方法返回Deque容器的最后一个元素,并且还删除该元素。如果容器为空,则返回null。
注意 :Java中的 BlockingDeque 类的 pollLast() 方法是从LinkedBlockingDeque类继承的。
以下程序说明了BlockingDeque的pollLast()方法:
程序1:
// Java程序演示BlockingDeque的
// pollLast()方法
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.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.pollLast());
// 删除最后一个元素后打印BlockingDeque
System.out.println("Blocking Deque: " + BD);
}
}
Blocking Deque: [74381793, 5278367, 35658786, 7855642]
Front element in Deque: 7855642
Blocking Deque: [74381793, 5278367, 35658786]
程序2:
// Java程序演示BlockingDeque的
// pollLast()方法在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);
// 清空Deque
BD.clear();
System.out.println("Front element in Deque: " + BD.pollLast());
}
}
Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Front element in Deque: null
参考: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#pollLast(long, %20java.util.concurrent.TimeUnit)
极客教程