MartinYeung
MartinYeung

Love life Love IT IT blog: https://ithelp.ithome.com.tw/users/20119569

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)


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。

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论