22.10 队列和优先队列

队列:先进先出,元素被追加到队列末尾,然后从队列头删除。
优先队列:元素被赋予优先级,最高优先级的元素首先被删除。

Queue

Queue接口用附加的插入,提取和检验操作来扩展java.util.Collection。 offer是添加一个元素。
poll和remove都是取并删除队列头的元素。只是取不到的时候一个是null,一个是异常。
peek和element都是获取队列头的元素。只是取不到的时候一个是null,一个是异常。

双端队列Deque和链表LinkedList

LinkedList类实现了Deque接口,Deque又扩展了Queue接口
Deque支持在两端插入和删除元素。deque是“双端队列(double-ended queue)”的简称
Deque接口用附加的从队列两端插入和删除元素的办法扩展Queque接口。

PriorityQueue类实现一个优先队列,默认情况下,
优先队列使用Comparable以元素的自然顺序进行排序。
拥有最小数值的元素被赋予最高优先级