java 隊列 入出方法彙總

add(e) offer(e) put(e) offer(e,time,unit)
添加元素到隊列中,如果隊列滿了,繼續插入元素會報錯, IllegalStateException 添加元素到隊列,同時會返回元素是否插入成功的狀態,如果成功則返回 true 當阻塞隊列滿了以後,生產者繼續通過 put添加元素,隊列會一直阻塞生產者線程,知道隊列可用 當阻塞隊列滿了以後繼續添加元素,生產者線程會被阻塞指定時間,如果超時,則線程直接退出
remove() poll() take() poll(e,time,unit)
當隊列爲空時,調用 remove 會返回 false,如果元素移除成功,則返回 true 當隊列中存在元素,則從隊列中取出一個元素,如果隊列爲空,則直接返回 null 基於阻塞的方式獲取隊列中的元素,如果隊列爲空,則 take 方法會一直阻塞,直到隊列中有新的數據可以消費 帶超時機制的獲取數據,如果隊列爲空,則會等待指定的時間再去獲取元素返回

peek()  獲取隊列的頭但不移除此隊列的頭。如果此隊列爲空,則返回 null
element()  獲取隊列的頭但不移除此隊列的頭。如果此隊列爲空,則將拋出NoSuchElementException異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章