日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

queue源码java_看看AbstractQueue源码Java9

發布時間:2025/3/12 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 queue源码java_看看AbstractQueue源码Java9 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在我們看看這個類AbstractQueue,此類提供某些Queue操作的核心實現。方法add,remove和element分別基于offer,poll和peek,但拋出異常而不是通過false或null返回指示失敗。

擴展此類的Queue實現必須最低限度地定義一個方法Queue.offer(E),該方法不允許插入null元素,以及Queue.peek(),Queue.poll(),Collection.size()和Collection.iterator()方法。通常,還會覆蓋其他方法。如果無法滿足這些要求,請考慮繼承AbstractCollection。

這里只有一個protected的構造方法,其實里面是什么都沒有做的。

然后,我們看看具體AbstractQueue有哪些方法,這里主要是實現了接口Queue的方法。

add(E e)方法:如果可以在不違反容量限制的情況下立即執行此操作,則將指定的元素插入此隊列,成功時返回true,如果當前沒有可用空間則拋出IllegalStateException。加入成功,那么就會放回true。這里用的是offer方法的實現

remove()檢索并刪除此隊列的頭部。如果元素不存在就拋出NoSuchElementException異常。這里用的是poll方法的實現。

element()檢索返回但不刪除此隊列的頭部。用的是peek()方法。

clear()方法在while里面調用poll()直到返回null。

addAll(Collection extends E> c)方法需要Collection參數是非空的,還有不能包含自己,遍歷調用add方法,如果修改了,就是modified=true。

上面就是AbstractQueue中的方法。

然后,我看看隊列的定義吧。

隊列,又稱為佇列(queue),是先進先出(FIFO, First-In-First-Out)的線性表。在具體應用中通常用鏈表或者數組來實現。隊列只允許在后端(稱為rear)進行插入操作,在前端(稱為front)進行刪除操作。

隊列的操作方式和堆棧類似,唯一的區別在于隊列只允許新數據在后端進行添加。

有什么討論的內容,可以加我公眾號:

總結

以上是生活随笔為你收集整理的queue源码java_看看AbstractQueue源码Java9的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。