阅读时间: 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。