1 定义
Interface Deque<E>:继承了Queue接口,支持两端元素插入和移除的线性集合。
2 特性
既具有队列FIFO(先进先出)特点又具有栈LIFO(后进先出)特点,既是队列又是栈。
3 常用方法
public void offerFirst(E e)
:向队头插入元素public void offerLast(E e)
:向队尾插入元素public E pollFirst()
:获取并移除队头元素public E pollLast()
:获取并移除队尾元素public E peekFirst()
:获取队头元素public E peekLast()
:获取队尾元素public int size()
:获取队列中的元素个数
3 栈操作
队头插入队头删除(后进先出):
public void push(E e)
:向队头插入元素public E pop()
:检索并删除队头元素public E peek()
:检索但不删除队头元素
4 队列操作
队尾插入队头删除(先进先出):
boolean offer(E e)
:向队尾插入元素public E poll()
:检索并删除队头元素public E peek()
:检索但不删除队头元素
5 两个主要实现类
- ArrayDeque: 基于数组实现的线性双端队列;
- LinkedList: 基于链表实现的链式双端队列。