Java中的ArrayDeque pollLast()方法
什么是ArrayDeque
Java中的ArrayDeque是一个双端队列,可以在队列的两端进行元素添加/移除操作。它实现了Deque接口,并且在内部使用了一个动态数组作为存储结构。
pollLast()方法介绍
pollLast()方法是ArrayDeque提供的一个方法,用于从队列尾部移除元素并返回。如果队列为空,则返回null。
ArrayDeque的源码中pollLast()方法定义如下:
public E pollLast() {
final Object[] elements = this.elements;
final int size = this.size;
final int tail = (this.tail - 1) & (elements.length - 1);
final Object x = elements[tail];
if (x == null)
return null;
elements[tail] = null;
this.tail = tail;
this.size = size - 1;
return (E) x;
}
pollLast()方法主要执行的操作如下:
- 首先获取ArrayDeque内部存储的元素数组elements。
- 然后获取队列的大小size和队列尾部元素的下标tail。
- 获取尾部元素并将其赋值给x。
- 如果尾部元素为null,则返回null。
- 否则将尾部元素置为null,队列的size减1,尾部元素下标减1。
- 最后返回被移除的元素x。
pollLast()方法示例
下面是一个示例程序,展示如何使用pollLast()方法从ArrayDeque中移除元素并返回。
public class ArrayDequeDemo {
public static void main(String[] args) {
ArrayDeque<String> deque = new ArrayDeque<String>();
deque.add("A");
deque.add("B");
deque.add("C");
deque.add("D");
System.out.println("原始队列:");
deque.forEach(System.out::println);
System.out.println("移除元素:" + deque.pollLast());
System.out.println("移除元素后队列:");
deque.forEach(System.out::println);
}
}
输出结果如下:
原始队列:
A
B
C
D
移除元素:D
移除元素后队列:
A
B
C
结论
pollLast()方法是ArrayDeque提供的一个方法,用于从队列尾部移除元素并返回。如果队列为空,则返回null。使用pollLast()方法可以方便地从ArrayDeque中移除元素,在实际开发中具有广泛的应用。
极客笔记