你要的棧、隊列、deque,看這個就行

Deque:雙端隊列

隊列(FIFO 先進先出):queue

stack:棧(FILO 先進後出)


方法 解釋 異常
push 向棧頂添加 失敗拋異常
pop 獲取並刪除棧頂數據 失敗拋異常
peek 查看棧頂 失敗拋異常

  • 隊列:queue

    • 示意圖
      示意圖
    方法 解釋 異常
    add 隊尾增加一個元索 如果隊列已滿,則拋出一個IIIegaISlabEepeplian異常
    offer 隊尾添加 若隊列滿了,直接返回false
    element 查看隊首元素 如果隊列爲空,則拋出一個NoSuchElementException異常
    peek 查看隊首元素 隊列爲空,返回null
    remove 移除並返回隊首元素 若隊列爲空,跑出異常
    poll 移除並返回隊首元素 若隊列爲空,返回null

offer,add 區別
一些隊列有大小限制,因此如果想在一個滿的隊列中加入一個新項,多出的項就會被拒絕。
這時新的 offer 方法就可以起作用了。它不是對調用 add() 方法拋出一個 unchecked 異常,而只是得到由 offer() 返回的 false。

poll,remove 區別
remove() 和 poll() 方法都是從隊列中刪除第一個元素。remove() 的行爲與 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合調用時不是拋出異常,只是返回 null。因此新的方法更適合容易出現異常條件的情況。

peek,element區別
element() 和 peek() 用於在隊列的頭部查詢元素。與 remove() 方法類似,在隊列爲空時, element() 拋出一個異常,而 peek() 返回 null。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章