Deque是什么?
Deque是双端队列,可在头尾操作元素
继承结构
Deque继承了Queue
public interface Deque<E> extends Queue<E> {
}
操作集合元素
添加元素
以下提供了头尾添加元素,区别是队列满时add抛出异常,offer返回false
void addFirst(E e);
void addLast(E e);
boolean offerFirst(E e);
boolean offerLast(E e);
添加元素到尾部
相当于addLast()和offerLast()
boolean add(E e);
boolean offer(E e);
删除元素
以下提供了头尾删除元素,区别是队列空时remove抛出异常,poll返回Null
E removeFirst();
E removeLast();
E pollFirst();
E pollLast();
删除头部元素
相当于removeFirst()和pollFirst()
E remove();
E poll();
删除第一个出现的元素
以下提供了头尾删除第一个出现的元素
boolean removeFirstOccurrence(Object o);
boolean removeLastOccurrence(Object o);
删除指定元素
相当于removeFirstOccurrence()
boolean remove(Object o);
获取元素
以下提供了头尾获取元素,区别是队列空时get抛出异常,peek返回Null
E getFirst();
E getLast();
E peekFirst();
E peekLast();
获取头部元素
相当于getFirst()和peekFirst()
E element();
E peek();
推拉
用于队列实现的栈结构,相当于addFirst()和removeFirst()
void push(E e);
E pop();
是否包含
boolean contains(Object o);
获取大小
int size();
获取迭代器
以下提供了获取头尾迭代器的方法
Iterator<E> iterator();
Iterator<E> descendingIterator();