Java中双端队列Deque是一种数据结构,可以在其两端插入或删除元素,是队列与栈的结合,可以用于实现堆栈,列表和列表的操作,继承 Queue
接口。它也可以用于实现优先级队列。可以使用双端队列来实现Web浏览器中主要存在的撤消或历史记录功能。
插入:
如果操作失败则抛出异常
void addFirst(Object e)
void addLast(Object e)
如果操作失败则返回一个特殊值(null 或 false)
boolean offerFirst(Object e)
boolean offerLast(Object e);
删除:
如果操作失败则抛出异常
Object removeFirst()
Object removeLast()
如果操作失败则返回一个特殊值(null 或 false)
Object pollFirst()
Object pollLast()
获取:
如果操作失败则抛出异常
Object getFirst()
Object getLast()
如果操作失败则返回一个特殊值(null 或 false)
Object peekFirst()
Object peekLast()
以下实例对常用方法展示
public class DoubleQueue {
public static void main(String[] args) {
Deque<String> deq =new ArrayDeque<String>();
//添加数据
deq.add("1");
deq.add("2");
deq.add("3");
//在头部插入数据
deq