當前位置:科普知識站>IT科技>

deque|java

IT科技 閲讀(1.46W)

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

deque java是什麼?一起來看看吧:

deque java是一個雙端隊列接口,繼承自Queue接口,Deque的實現類是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。

Deque有三種用途:

普通隊列(一端進另一端出):

Queue queue = new LinkedList()或Deque deque = new LinkedList()

雙端隊列(兩端都可進出)

Deque deque = new LinkedList()

堆疊

Deque deque = new LinkedList()

注意:Java堆疊Stack類已經過時,Java官方推薦使用Deque替代Stack使用。Deque堆疊操作方法:push()、pop()、peek()。

Deque是一個線性collection,支持在兩端插入和移除元素。名稱 deque 是“double ended queue(雙端隊列)”的縮寫,通常讀為“deck”。大多數 Deque 實現對於它們能夠包含的元素數沒有固定限制,但此接口既支持有容量限制的雙端隊列,也支持沒有固定大小限制的雙端隊列。

此接口定義在雙端隊列兩端訪問元素的方法。提供插入、移除和檢查元素的方法。每種方法都存在兩種形式:一種形式在操作失敗時拋出異常,另一種形式返回一個特殊值(null 或 false,具體取決於操作)。插入操作的後一種形式是專為使用有容量限制的 Deque 實現設計的;在大多數實現中,插入操作不能失敗。

Deque接口擴展(繼承)了 Queue 接口。在將雙端隊列用作隊列時,將得到 FIFO(先進先出)行為。將元素添加到雙端隊列的末尾,從雙端隊列的開頭移除元素,從 Queue 接口繼承的方法完全等效於 Deque 方法。

雙端隊列也可用作 LIFO(後進先出)堆疊。應優先使用此接口而不是遺留 Stack 類。在將雙端隊列用作堆疊時,元素被推入雙端隊列的開頭並從雙端隊列開頭彈出,堆疊方法完全等效於 Deque 方法。

deque java