iT邦幫忙

2

Java - dequeue的介紹及用法

閱讀時間: 15分鐘

在電腦科學中, dequeue是指a double-ended queue(雙向佇列),一般簡寫為deque,讀音是 deck)。
Dequeue是一種抽象資料型態,dequeue中的每個元素都可以在佇列中的頭部(左邊)或者在尾部(右邊)的位置進行任何元素的新增移除。

java.util.Deque interface 是 java.util.Queue interface 的一個子類別。
Deque 的運行速度比 Stack 和 LinkedList更快。

以下是有關Deque的等級制度 (Hierarchy)
https://ithelp.ithome.com.tw/upload/images/20200106/20119569k7rXa4NrNc.jpg

Deque 界面可以被不同類別的集合實作包括LinkedList 、 ArrayDeque 類。
可以用以下方式宣告與實體化:

Deque deque = new LinkedList<>();

或者

Deque deque = new ArrayDeque<>();

Deque 有下列特色

第一
可以修改array的大小
第二
無限制array的長度
第三
禁止Null 的元素
**第四 **
不是 thread-safe.
所以多個thread同時存取是不支持的

Deque的method

add(element):
在尾部加入元素。

addFirst(element):
在頭部加入元素。

addLast(element):
在尾部加入元素。

offer(element):
在尾部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

offerFirst(element):
在頭部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

offerLast(element):
在尾部加入元素,同時也返回一個boolean值來表示是否成功加入元素。

iterator():
返回Deque的所有元素。

descendingIterator():
以相反的排序方式返回Deque的所有元素。

push(element):
在頭部加入元素。

pop(element):
刪除在頭部元素,同時返回被刪除元素。

removeFirst():
刪除在頭部元素。

removeLast():
刪除在尾部元素。

poll():
刪除在頭部元素,或者返回Null值假如是空的Aarray。

pollFirst():
刪除在頭部元素,或者返回Null值假如是空的Aarray。

pollLast():
刪除在尾部元素,或者返回Null值假如是空的Aarray。

peek():
搜索及返回在頭部元素,或者返回Null值假如是空的Aarray。

peekFirst():
搜索及返回在頭部元素,或者返回Null值假如是空的Aarray。

peekLast():
搜索及返回在尾部元素,或者返回Null值假如是空的Aarray。


尚未有邦友留言

立即登入留言