双向队列:支持插入删除元素的线性集合
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