學習筆記之Java隊列Queue中offer/add函數,poll/remove函數,peek/element函數的區別


隊列是一種特殊的線性表,它只允許在表的前端進行刪除操作,而在表的后端進行插入操作。

LinkedList類實現了Queue接口,因此我們可以把LinkedList當成Queue來用。

 

Java中Queue有一些常用的方法:

offer、add
poll、remove
peek、element

 

每一行中的兩個函數,實現的功能是一樣的,但也有所不同。

 

offer,add區別:

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

這時新的 offer 方法就可以起作用了。它不是對調用 add() 方法拋出一個 unchecked 異常,而只是得到由 offer() 返回的 false。 

 

poll,remove區別:

remove() 和 poll() 方法都是從隊列中刪除第一個元素。remove() 的行為與 Collection 接口的版本相似,

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

 

peek,element區別:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM