concurrentlinkedqueue怎么遍历获取指定元素并删除
时间: 2023-09-10 11:15:16 浏览: 173
Java concurrency集合之ConcurrentLinkedQueue_动力节点Java学院整理
要遍历ConcurrentLinkedQueue并获取指定元素并删除,可以使用ConcurrentLinkedQueue的API:`remove(Object o)`方法。
具体的实现步骤如下:
1. 创建一个ConcurrentLinkedQueue对象,向队列中添加元素。
2. 遍历队列,查找指定的元素。
3. 如果找到了指定元素,使用`remove(Object o)`方法将其从队列中删除。
代码示例如下:
```
ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<>();
queue.add("A");
queue.add("B");
queue.add("C");
String element = "B";
Iterator<String> iterator = queue.iterator();
while (iterator.hasNext()) {
String e = iterator.next();
if (e.equals(element)) {
queue.remove(e);
break;
}
}
```
需要注意的是,在遍历时不能直接使用`remove()`方法删除元素,因为这样会导致ConcurrentModificationException异常,因为在遍历时不能修改队列。因此,必须使用`remove(Object o)`方法来删除指定元素。
阅读全文