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()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值