Queue 也是 Java 集合框架中定義的一種接口,直接繼承自 Collection 接口。除了基本的 Collection 接口規定測操作外,Queue 接口還定義一組針對隊列的特殊操作。通常來說,Queue 是按照先進先出(FIFO)的方式來管理其中的元素的,但是優先隊列是一個例外。
Deque 接口繼承自 Queue接口,但 Deque 支持同時從兩端添加或移除元素,因此又被成為雙端隊列。鑒于此,Deque 接口的實現可以被當作 FIFO隊列使用,也可以當作LIFO隊列(棧)來使用。官方也是推薦使用 Deque 的實現來替代 Stack。
ArrayDeque 是 Deque 接口的一種具體實現,是依賴于可變數組來實現的。ArrayDeque 沒有容量限制,可根據需求自動進行擴容。ArrayDeque不支持值為 null 的元素。