📅  最后修改于: 2023-12-03 15:01:50.421000             🧑  作者: Mango
ArrayBlockingQueue
iterator()
方法ArrayBlockingQueue
类是 Java 中的一个阻塞队列,它是基于数组实现的有界阻塞队列。ArrayBlockingQueue
提供了一组方法来操作队列中元素,其中包括 iterator()
方法。
public Iterator<E> iterator()
iterator()
方法返回一个迭代器(Iterator
),用于遍历队列中的元素。迭代器提供了一种连续访问集合元素的方式,让程序员能够通过循环逐个处理队列中的元素。
import java.util.Iterator;
import java.util.concurrent.ArrayBlockingQueue;
public class Main {
public static void main(String[] args) {
ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<>(5);
queue.add("A");
queue.add("B");
queue.add("C");
Iterator<String> iterator = queue.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
}
}
在上面的示例中,我们创建了一个 ArrayBlockingQueue
对象,并增加了三个元素到队列中。然后,我们通过 iterator()
方法获取一个迭代器,并使用 while
循环遍历队列中的元素。在循环中,我们使用 Iterator
的 hasNext()
方法判断是否还有下一个元素,如果有,则使用 next()
方法获取下一个元素并进行处理。
ArrayBlockingQueue
的迭代器是弱一致(weakly consistent)的。这意味着,即使在迭代期间有其他线程对队列进行修改,迭代器也不会抛出 ConcurrentModificationException
异常。remove()
方法不可用,会抛出 UnsupportedOperationException
异常。以上是关于 Java
中 ArrayBlockingQueue
的 iterator()
方法的介绍。该方法可用于遍历队列中的元素,让你可以方便地处理队列中的每个元素。