双向队列:支持插入删除元素的线性集合

Deque继承关系

add(E e): 将指定的元素插入到此队列中,如果可以立即执行此操作,而不会违反容量限制, true在成功后返回 IllegalStateException如果当前没有可用空间,则抛出IllegalStateException。element(): 检索队列的头部,但不删除offer(E e): 如果在不违反容量限制的情况下立即执行,则将制定的元素插入到此队列中,插入成功true,否falsepeek(): 检索但不删除此队列的头,如果此队列为空,则返回 nullpoll(): 检索并删除此队列的头,如果此队列为空,则返回 nullremove(): 检索并删除此队列的头addFirst(): 向队头插入元素,如果元素为空,则发生NPEaddLast(): 向队尾插入元素,如果为空,则发生NPEofferFirst(): 向队头插入元素,如果插入成功返回true,否则返回falseofferLast(): 向队尾插入元素,如果插入成功返回true,否则返回falseremoveFirst(): 返回并移除队头元素,如果该元素是null,则发生NoSuchElementExceptionremoveLast(): 返回并移除队尾元素,如果该元素是null,则发生NoSuchElementExceptionpollFirst(): 返回并移除队头元素,如果队列无元素,则返回nullpollLast(): 返回并移除队尾元素,如果队列无元素,则返回nullgetFirst(): 获取队头元素但不移除,如果队列无元素,则发生NoSuchElementExceptiongetLast(): 获取队尾元素但不移除,如果队列无元素,则发生NoSuchElementExceptionpeekFirst(): 获取队头元素但不移除,如果队列无元素,则返回nullpeekLast(): 获取队尾元素但不移除,如果队列无元素,则返回nullpop(): 弹出栈中元素,也就是返回并移除队头元素,等价于removeFirst(),如果队列无元素,则发生NoSuchElementException
push(): 向栈中压入元素,也就是向队头增加元素,等价于addFirst(),如果元素为null,则发生NPE,如果栈空间受到限制,则发生IllegalStateException
Stack类,如果在进行栈选型时,更推荐使用Deque类,应为Stack是线程同步ArrayDeque: 基于数组实现的线性双向队列LinkedList: 基于链表实现的链式双向队列原文:https://www.cnblogs.com/hliushi/p/14251827.html