Queue操作區別

2021-08-10 02:38:36 字數 1039 閱讀 6418

這裡簡單對其重複的方法做點簡單的區分。

add增加乙個元索                     如果佇列已滿,則丟擲乙個iiiegaislabeepeplian異常

remove移除並返回佇列頭部的元素    如果隊列為空,則丟擲乙個nosuchelementexception異常

element返回佇列頭部的元素             如果隊列為空,則丟擲乙個nosuchelementexception異常

offer新增乙個元素並返回true       如果佇列已滿,則返回false

poll移除並返問佇列頭部的元素    如果隊列為空,則返回null

peek返回佇列頭部的元素             如果隊列為空,則返回null

put新增乙個元素                      如果佇列滿,則阻塞

take移除並返回佇列頭部的元素     如果隊列為空,則阻塞

offer,add區別:

一些佇列有大小限制,因此如果想在乙個滿的佇列中加入乙個新項,多出的項就會被拒絕。

這時新的 offer 方法就可以起作用了。它不是對呼叫 add() 方法丟擲乙個 unchecked 異常,而只是得到由 offer() 返回的 false。 

poll,remove區別:

remove() 和 poll() 方法都是從佇列中刪除第乙個元素。remove() 的行為與 collection 介面的版本相似,

但是新的 poll() 方法在用空集合呼叫時不是丟擲異常,只是返回 null。因此新的方法更適合容易出現異常條件的情況。

peek,element區別:

element() 和 peek() 用於在佇列的頭部查詢元素。與 remove() 方法類似,在隊列為空時, element() 丟擲乙個異常,而 peek() 返回 null

queue 的常見操作

include include include using namespace std if 0 1.佇列是一種容器介面卡,用於在fifo上下文中進行操作,其中元素從一段插入,然後在另一端進行提取 2.佇列實現為容器介面卡,使用特定容器類的封裝物件作為其底層容器的類,提供一些特定成員來訪問其中的元素...

queue佇列簡單操作

queue fifo 先進先出 lifoquere 先進後出 棧 priorityqueue 優先佇列 通過自定義演算法實現 為什麼用queue庫 python標準庫是執行緒之間常見的資料交換形式,queue的使用可以確保python的執行緒安全 2.常用方法 q queue.queue maxsi...

queue與topic的區別

jms中定義了兩種訊息模型 點對點 point to point,queue 和發布 訂閱 publish subscribe,topic 主要區別就是 是否能重複消費 訊息生產者生產訊息傳送到queue中,然後訊息消費者從queue中取出並且消費訊息。訊息被消費以後,queue中不再有儲存,所以訊...