第 3-4 课:数据结构——队列详解 + 面试题
生活随笔
收集整理的這篇文章主要介紹了
第 3-4 课:数据结构——队列详解 + 面试题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隊列(Queue):與棧相對的一種數據結構, 集合(Collection)的一個子類。隊列允許在一端進行插入操作,而在另一端進行刪除操作的線性表,棧的特點是后進先出,而隊列的特點是先進先出。隊列的用處很大,比如實現消息隊列。
Queue 類關系圖,如下圖所示:
注:為了讓讀者更直觀地理解,上圖為精簡版的 Queue 類關系圖。本文如無特殊說明,內容都是基于 Java 1.8 版本。
隊列(Queue)
1)Queue 分類
從上圖可以看出 Queue 大體可分為以下三類。
- 雙端隊列:雙端隊列(Deque)是 Queue 的子類也是 Queue 的補充類,頭部和尾部都支持元素插入和獲取。
- 阻塞隊列:阻塞隊列指的是在元素操作時(添加或刪除),如果沒有成功,會阻塞等待執行。例如,當添加元素時,如果隊列元素已滿,隊列會阻塞等待直到有空位時再插入。
- 非阻塞隊列:非阻塞隊列和阻塞隊列相反,會直接返回操作的結果,而非阻塞等待。雙端隊列也屬于非阻塞隊列。
2)Queue 方法說明
Queue 常用方法,如下圖所示:
總結
以上是生活随笔為你收集整理的第 3-4 课:数据结构——队列详解 + 面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员专属精品简历合集—面试必备
- 下一篇: 被一个熟悉的面试题问懵了:StringB