国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java? 教程(Deque接口)

lastSeries / 3207人閱讀

Deque接口

通常讀作deckdeque是雙端隊列,雙端隊列是元素的線性集合,支持在兩個端點處插入和移除元素,Deque接口是比StackQueue更豐富的抽象數(shù)據(jù)類型,因為它同時實現(xiàn)堆棧和隊列。Deque接口定義了訪問Deque實例兩端元素的方法,提供了插入、移除和檢查元素的方法,ArrayDeque和LinkedList等預(yù)定義類實現(xiàn)了Deque接口。

請注意,Deque接口既可以用作后進(jìn)先出堆棧,也可以用作先進(jìn)先出隊列,Deque接口中給出的方法分為三個部分。

插入

addfirstofferFirst方法在Deque實例的開頭插入元素,方法addLastofferLastDeque實例的末尾插入元素,當(dāng)Deque實例的容量受到限制時,首選方法是offerFirstofferLast,因為如果隊列已滿,則addFirst可能無法拋出異常。

移除

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

檢索

方法getFirstpeekFirst檢索Deque實例的第一個元素,這些方法不會從Deque實例中刪除該值。同樣,方法getLastpeekLast檢索最后一個元素,如果deque實例為空,則方法getFirstgetLast會拋出異常,而方法peekFirstpeekLast將返回NULL

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

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

除了插入、刪除和檢查Deque實例的這些基本方法之外,Deque接口還有一些更預(yù)定義的方法,其中之一是removeFirstOccurence,如果Deque實例中存在指定元素,則此方法將刪除第一個出現(xiàn)的指定元素,如果元素不存在,則Deque實例保持不變。另一種類似的方法是removeLastOccurence,此方法刪除Deque實例中最后一次出現(xiàn)的指定元素,這些方法的返回類型是boolean,如果元素存在于Deque實例中,它們將返回true

上一篇:Queue接口 下一篇:Map接口

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/73976.html

相關(guān)文章

  • Java? 教程(集合接口

    集合接口 核心集合接口封裝了不同類型的集合,如下圖所示,這些接口允許獨立于其表示的細(xì)節(jié)來操縱集合,核心集合接口是Java集合框架的基礎(chǔ),如下圖所示,核心集合接口形成層次結(jié)構(gòu)。 showImg(https://segmentfault.com/img/bVbntJW?w=402&h=146); Set是一種特殊的Collection,SortedSet是一種特殊的Set,依此類推,另請注意,層次結(jié)構(gòu)...

    elisa.yang 評論0 收藏0
  • Java中的Queue與Deque

    摘要:最小初始化容量。它作為堆棧隊列雙端隊列的操作和的操作是一致的,只是內(nèi)部的實現(xiàn)不同。根據(jù)元素內(nèi)容查找和刪除的效率比較低,為。但是接口有對應(yīng)的并發(fā)實現(xiàn)類類。 Queue接口的實現(xiàn)類 Queue接口作為隊列數(shù)據(jù)結(jié)構(gòu),java在實現(xiàn)的時候,直接定義了Deque接口(雙端隊列)來繼承Queue接口,并且只實現(xiàn)Deque接口。這樣java中的雙端隊列就囊括了隊列、雙端隊列、堆棧(Deque接口又定...

    zhangrxiang 評論0 收藏0
  • java集合-List

    摘要:會死循環(huán),因為棧內(nèi)不會彈出所以判斷會一直執(zhí)行。集合用于模擬隊列這種數(shù)據(jù)結(jié)構(gòu),隊列通常是指先進(jìn)先出的容器。集合不僅提供了的功能,還提供了雙端隊列,棧的功能。如果有多個線程需要訪問集合中的元素,需要考慮使用將幾個包裝成線程安全集合。 List判斷兩個對象相等只通過equals方法比較返回true即可。 public class A { @Override public ...

    MasonEast 評論0 收藏0
  • Week 2 - Java 容器 - 詳細(xì)剖析 List 之 ArrayList, Vector,

    摘要:底層使用的是雙向鏈表數(shù)據(jù)結(jié)構(gòu)之前為循環(huán)鏈表,取消了循環(huán)。快速隨機(jī)訪問就是通過元素的序號快速獲取元素對象對應(yīng)于方法。而接口就是用來標(biāo)識該類支持快速隨機(jī)訪問。僅僅是起標(biāo)識作用。,中文名為雙端隊列。不同的是,是線程安全的,內(nèi)部使用了進(jìn)行同步。 前言 學(xué)習(xí)情況記錄 時間:week 2 SMART子目標(biāo) :Java 容器 記錄在學(xué)習(xí)Java容器 知識點中,關(guān)于List的需要重點記錄的知識點。...

    MartinDai 評論0 收藏0
  • 源碼|jdk源碼之棧、隊列及ArrayDeque分析

    摘要:棧隊列雙端隊列都是非常經(jīng)典的數(shù)據(jù)結(jié)構(gòu)。結(jié)合了棧和隊列的特點。因此,在中,有棧的使用需求時,使用代替。迭代器之前源碼源碼之與字段中分析過,容器的實現(xiàn)中,所有修改過容器結(jié)構(gòu)的操作都需要修改字段。 棧、隊列、雙端隊列都是非常經(jīng)典的數(shù)據(jù)結(jié)構(gòu)。和鏈表、數(shù)組不同,這三種數(shù)據(jù)結(jié)構(gòu)的抽象層次更高。它只描述了數(shù)據(jù)結(jié)構(gòu)有哪些行為,而并不關(guān)心數(shù)據(jù)結(jié)構(gòu)內(nèi)部用何種思路、方式去組織。本篇博文重點關(guān)注這三種數(shù)據(jù)結(jié)構(gòu)...

    ZHAO_ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<