平时不怎么用到队列,需要用的时候,一些函数老需要翻书,于是整理了一些,参考《Java核心技术 卷I》。
boolean add(E element)
boolean offer(E element)
如果队列没有满,将给定的元素添加到这个双端队列的尾部并返回true。如果队列满了,第一个方法将抛出一个IllegalStateException,而第二个方法返回false。
E remove()
E poll()
假如队列不空,删除并返回这个队列头部的元素。如果队列是空的,第一个方法抛出NoSuchElementException,而第二个方法返回null。
E element()
E peek
如果队列不空,返回这个队列头部的元素,但不删除。如果队列空,第一个方法将抛出一个NoSuchElementException,而第二个方法返回null。
java.util.Deque<E> 6
void addFirst(E element)
void addLast(E element)
boolean offerFirst(E element)
boolean offerLast(E element)
将给定的对象添加到双端队列的头部或尾部。如果队列满了,前面两个方法将抛出一个IllegalStateException,而后面两个方法返回false。
E removeFirst()
E removeLast()
E pollFirst()
E pollLast()
如果队列不空,删除并返回队列头部的元素。如果队列为空,前面两个方法将抛出一个NoSuchElementException,而后面两个方法返回null。
E getFirst()
E getLast()
E peekFirst()
E peekLast()
如果队列非空,返回队列头部的元素,但不删除。如果队列空,前面两个方法将抛出一个NoSuchElementException,而后面两个方法返回null。
优先级队列
优先级队列中的元素可以按照任意的顺序插入,却总是按照排序的顺序进行检索。优先级队列使用了一个优雅且高效的数据结构,堆。