Java™ 教程(Deque接口)

Deque接口

一般讀做deckdeque是雙端隊列,雙端隊列是元素的線性集合,支持在兩個端點處插入和移除元素,Deque接口是比StackQueue更豐富的抽象數據類型,由於它同時實現堆棧和隊列。Deque接口定義了訪問Deque實例兩端元素的方法,提供了插入、移除和檢查元素的方法,ArrayDequeLinkedList等預約義類實現了Deque接口。html

請注意,Deque接口既能夠用做後進先出堆棧,也能夠用做先進先出隊列,Deque接口中給出的方法分爲三個部分。java

插入

addfirstofferFirst方法在Deque實例的開頭插入元素,方法addLastofferLastDeque實例的末尾插入元素,當Deque實例的容量受到限制時,首選方法是offerFirstofferLast,由於若是隊列已滿,則addFirst可能沒法拋出異常。segmentfault

移除

removeFirstpollFirst方法從Deque實例的開頭刪除元素,removeLastpollLast方法從末尾刪除元素,若是Deque爲空,則方法pollFirstpollLast返回null,而若是Deque實例爲空,則方法removeFirstremoveLast會拋出異常。api

檢索

方法getFirstpeekFirst檢索Deque實例的第一個元素,這些方法不會從Deque實例中刪除該值。一樣,方法getLastpeekLast檢索最後一個元素,若是deque實例爲空,則方法getFirstgetLast會拋出異常,而方法peekFirstpeekLast將返回NULLoracle

下面列出了12種Deque元素的插入、移除和檢索方法:code

操做類型 第一個元素(Deque實例的開頭) 最後一個元素(Deque實例的結尾)
插入 addFirst(e)
offerFirst(e)
addLast(e)
offerLast(e)
移除 removeFirst()
pollFirst()
removeLast()
pollLast()
檢索 getFirst()
peekFirst()
getLast()
peekLast()

除了插入、刪除和檢查Deque實例的這些基本方法以外,Deque接口還有一些更預約義的方法,其中之一是removeFirstOccurence,若是Deque實例中存在指定元素,則此方法將刪除第一個出現的指定元素,若是元素不存在,則Deque實例保持不變。另外一種相似的方法是removeLastOccurence,此方法刪除Deque實例中最後一次出現的指定元素,這些方法的返回類型是boolean,若是元素存在於Deque實例中,它們將返回truehtm


上一篇:Queue接口

下一篇:Map接口

相關文章
相關標籤/搜索