Deque 是一个双端队列接口,继承自 Queue 接口,Deque的实现类用的最多的是 LinkedList。
源码展示
package java.util;
public interface Deque<E> extends Queue<E> {
/**
* 头部插入元素。
*/
void addFirst(E e);
/**
* 尾部插入元素。
*/
void addLast(E e);
/**
* 头部插入元素。
*/
boolean offerFirst(E e);
/**
* 尾部插入元素。
*/
boolean offerLast(E e);
/**
* 删除第一个元素。
*/
E removeFirst();
/**
* 删除最后一个元素。
*/
E removeLast();
/**
* 获取头部的元素,删除。
*/
E pollFirst();
/**
* 获取尾部的元素,删除。
*/
E pollLast();
/**
* 获取头部元素,不删除。
*/
E getFirst();
/**
* 获取尾部的元素,不删除。
*/
E getLast();
/**
* 获取头部元素,不删除。
*/
E peekFirst();
/**
* 获取尾部的元素,不删除。
*/
E peekLast();
/**
* 删除第一次出现的一个指定对象。
*/
boolean removeFirstOccurrence(Object o);
/**
* 删除最后出现的一个指定对象。
*/
boolean removeLastOccurrence(Object o);
/**
* 在尾部插入元素。
*/
boolean add(E e);
/**
* 在尾部插入元素。
*/
boolean offer(E e);
/**
* 获取队列头部元素,删除。
*/
E remove();
/**
* 获取队列头部元素,删除。
*/
E poll();
/**
* 获取队列头部元素,不删除。
*/
E element();
/**
* 获取队列头部元素,不删除。
*/
E peek();
/**
* 头部入栈
*/
void push(E e);
/**
* 头部出栈
*/
E pop();
/**
* 删除一个对象
*/
boolean remove(Object o);
/**
* 是否包含某对象
*/
boolean contains(Object o);
/**
* 队列大小
*/
public int size();
/**
* 迭代器
*/
Iterator<E> iterator();
/**
* 降序迭代器
*/
Iterator<E> descendingIterator();
}