發(fā)布時(shí)間:2022-03-30 12:25:20來(lái)源:轉(zhuǎn)載
java中的queue類(lèi)是隊(duì)列數(shù)據(jù)結(jié)構(gòu)管理類(lèi)。在它里邊的元素可以按照添加它們的相同順序被移除。隊(duì)列通常(但并非一定)以 FIFO(先進(jìn)先出)的方式排序各個(gè)元素。那么queue這個(gè)單詞的意思是什么呢?
英音[kju:];
美音[kju:];
名詞
1.(人、汽車(chē)等的)隊(duì),行列
2.【計(jì)】(儲(chǔ)存的數(shù)據(jù))隊(duì)列
v.
1.不及物動(dòng)詞:(人、車(chē)等)排隊(duì)等侯;
2.[I,T]【計(jì)】(使)排隊(duì);列隊(duì)等待
詞形變化
時(shí)態(tài)queued,queuing,queues
英語(yǔ)解釋
(information processing) an ordered list of tasks to be performed or messages to be transmitted
a line of people or vehicles waiting for something
a braid of hair at the back of the head
form a queue, form a line, stand in line
不過(guò)優(yōu)先級(jí)隊(duì)列和 LIFO 隊(duì)列(或堆棧)例外,前者根據(jù)提供的比較器或元素的自然順序?qū)υ剡M(jìn)行排序,后者按 LIFO(后進(jìn)先出)的方式對(duì)元素進(jìn)行排序。無(wú)論使用哪種排序方式,隊(duì)列的頭都是調(diào)用remove()或poll()所移除的元素。在 FIFO 隊(duì)列中,所有的新元素都插入隊(duì)列的末尾。其他種類(lèi)的隊(duì)列可能使用不同的元素放置規(guī)則。每個(gè)Queue實(shí)現(xiàn)必須指定其順序?qū)傩浴?/p>
offer 添加一個(gè)元素并返回true 如果隊(duì)列已滿,則返回false
poll 移除并返問(wèn)隊(duì)列頭部的元素 如果隊(duì)列為空,則返回null
peek 返回隊(duì)列頭部的元素 如果隊(duì)列為空,則返回null
put 添加一個(gè)元素 如果隊(duì)列滿,則阻塞
take 移除并返回隊(duì)列頭部的元素 如果隊(duì)列為空,則阻塞
element 返回隊(duì)列頭部的元素 如果隊(duì)列為空,則拋出一個(gè)NoSuchElementException異常
add 增加一個(gè)元索 如果隊(duì)列已滿,則拋出一個(gè)IIIegaISlabEepeplian異常
remove 移除并返回隊(duì)列頭部的元素 如果隊(duì)列為空,則拋出一個(gè)
NoSuchElementException異常
注意:poll和peek方法出錯(cuò)進(jìn)返回null。因此,向隊(duì)列中插入null值是不合法的。
還有帶超時(shí)的offer和poll方法重載,例如,下面的調(diào)用:
boolean success = q.offer(x,100,TimeUnit.MILLISECONDS);
嘗試在100毫秒內(nèi)向隊(duì)列尾部插入一個(gè)元素。如果成功,立即返回true;否則,當(dāng)?shù)竭_(dá)超時(shí)進(jìn),返回false。同樣地,調(diào)用:
Object head = q.poll(100, TimeUnit.MILLISECONDS);
如果在100毫秒內(nèi)成功地移除了隊(duì)列頭元素,則立即返回頭元素;否則在到達(dá)超時(shí)時(shí),返回null。
阻塞操作有put和take。put方法在隊(duì)列滿時(shí)阻塞,take方法在隊(duì)列空時(shí)阻塞。
Queue接口與List、Set同一級(jí)別,都是繼承了Collection接口。LinkedList實(shí)現(xiàn)了Queue接 口。Queue接口窄化了對(duì)LinkedList的方法的訪問(wèn)權(quán)限(即在方法中的參數(shù)類(lèi)型如果是Queue時(shí),就完全只能訪問(wèn)Queue接口所定義的方法 了,而不能直接訪問(wèn) LinkedList的非Queue的方法),以使得只有恰當(dāng)?shù)姆椒ú趴梢允褂?。BlockingQueue 繼承了Queue接口。
雅思 托福 GRE SSAT SAT GMAT ACT 個(gè)人提升英語(yǔ) 英語(yǔ)四六級(jí) 多鄰國(guó)英語(yǔ)測(cè)試 詞庫(kù) IB 英語(yǔ)口語(yǔ) 商務(wù)英語(yǔ) 公共英語(yǔ) 考研英語(yǔ) 青少兒英語(yǔ) 成人英語(yǔ) A-Level 學(xué)生英語(yǔ) 初高中英語(yǔ) OSSD AP課程 AEAS個(gè)性化定制課程 一級(jí)建造師 二級(jí)建造師 消防工程師 消防設(shè)施操作員 BIM 造價(jià)工程師 環(huán)評(píng)師 監(jiān)理工程師 咨詢工程師 安全工程師 建筑八大員 公路水運(yùn)檢測(cè) 通信工程 裝配式工程師 注冊(cè)電氣工程師 二級(jí)注冊(cè)建筑師 一級(jí)注冊(cè)建筑師 智慧消防工程師 智慧建造工程師 全過(guò)程工程咨詢師 EPC 碳排放管理師 ACCA CFA 注冊(cè)會(huì)計(jì)師 會(huì)計(jì)證 初中級(jí)經(jīng)濟(jì)師 初級(jí)會(huì)計(jì)師 中級(jí)會(huì)計(jì)師 基金從業(yè) 證券從業(yè) 稅務(wù)師 薪稅師 企業(yè)合規(guī)師 會(huì)計(jì)就業(yè)實(shí)操 期貨從業(yè) FRM CMA CQF 教師資格 人力資源管理 導(dǎo)游考試 心理咨詢師 健康管理師 社會(huì)工作師 普通話 育嬰員 物流師 家庭教育指導(dǎo)師 專利代理師 教師招聘 兒童專注力 兒童情緒管理 法律職業(yè)資格 少兒編程 書(shū)法培訓(xùn) 國(guó)畫(huà) 茶藝 樂(lè)器音樂(lè) 舞蹈 棋類(lèi) 機(jī)器人編程 戲曲培訓(xùn) 信奧賽C++ 少兒小主播 口才培訓(xùn) 籃球培訓(xùn) 商務(wù)辦公 影視后期 剪輯包裝 游戲設(shè)計(jì) 游戲程序 UI設(shè)計(jì) 室內(nèi)設(shè)計(jì) photoshop CAD制圖 視覺(jué)設(shè)計(jì) 商業(yè)空間設(shè)計(jì) 平面設(shè)計(jì)