ConcurrentLinkedQueue常用方法:

ConcurrentLinkedQueue常用方法:

增:

add :底層調用offer

offer : 將指定元素插入此隊列的尾部

刪:

poll 是從隊列取出元素並且刪除該元素

remove 如果此元素不存在,則返回 false,移除成功返回true

讀:

peek() 獲取但不移除此隊列的頭;如果此隊列爲空,則返回 null

contains(Object o) 如果此隊列包含指定元素,則返回 true

iterator() 返回在此隊列元素上以恰當順序進行迭代的迭代器

其他:

size() or isEmpty()

注意點的:

如果此隊列包含的元素數大於 Integer.MAX_VALUE,則返回 Integer.MAX_VALUE。

需要小心的是,與大多數 collection 不同,此方法不是 一個固定時間操作。由於這些隊列的異步特性,確定當前的元素數需要進行一次花費 O(n) 時間的遍歷。

所以在需要判斷隊列是否爲空時,儘量不要用 queue.size()>0,而是用 !queue.isEmpty()。

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