Deque接口继承了Queue的接口规范。LinkedList、ArrayDeque都是实现Deque接口。
Queue<-----Duque<-----LinkedList、ArrayDeque
队列(Queue)
是常用的数据结构,可以将队列看成特殊的线性表,队列限制了对线性表的访问方式:只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素。Queue接口:在包 java.util.Queue。
1)队列遵循先进先出原则:FIFO(First Input First Output)队列不支持插队,插队是不道德的。
2)JDK 中提供了 Queue 接口,同时使得 LinkedList 实现了该接口(选择 LinkedList 实现Queue 的原因在于 Queue 经常要进行插入和删除的操作,而 LinkedList 在这方面效率较高) 。
常用方法:
①boolean offer(E e):将一个对象添加至队尾,如果添加成功则返回 true。
②poll():从队列中取出元素,取得的是最早的 offer 元素,从队列中取出元素后,该元素会从队列中删除。若方法返回 null 说明 队列中没有元素了。
③peek():获取队首的元素(不删除该元素!)