Java ArrayBlockingQueue iterator()方法
ArrayBlockingQueue 类的 iterator() 方法是用来返回一个与该队列相同的元素的迭代器,并以适当的顺序。从这个方法返回的元素包含了从第一个(head)到最后一个(tail)的顺序。返回的迭代器是弱一致性的。
语法
public Iterator iterator()
返回值: 该方法返回具有与ArrayBlockingQueue中的元素相同的顺序的迭代器。
下面的程序说明了ArrayBlockingQueue类的iterator()方法。
程序1 :
// Program Demonstrate how to apply iterator() method
// of ArrayBlockingQueue Class.
import java.util.concurrent.ArrayBlockingQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Define capacity of ArrayBlockingQueue
int capacity = 5;
// Create object of ArrayBlockingQueue
ArrayBlockingQueue<Integer> queue = new
ArrayBlockingQueue<Integer>(capacity);
// Add 5 elements to ArrayBlockingQueue
queue.offer(423);
queue.offer(422);
queue.offer(421);
queue.offer(420);
queue.offer(424);
// Print queue
System.out.println("Queue is " + queue);
// Call iterator() method and Create an iterator
Iterator iteratorValues = queue.iterator();
// Print elements of iterator
System.out.println("\nThe iterator values:");
while (iteratorValues.hasNext()) {
System.out.println(iteratorValues.next());
}
}
}
输出。
Queue is [423, 422, 421, 420, 424]
The iterator values:
423
422
421
420
424
程序2
// Program Demonstrate how to apply iterator() method
// of ArrayBlockingQueue Class.
import java.util.concurrent.ArrayBlockingQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Define capacity of ArrayBlockingQueue
int capacity = 5;
// Create object of ArrayBlockingQueue
ArrayBlockingQueue<String> queue = new
ArrayBlockingQueue<String>(capacity);
// Add 5 elements to ArrayBlockingQueue
queue.offer("User");
queue.offer("Employee");
queue.offer("Manager");
queue.offer("Analyst");
queue.offer("HR");
// Print queue
System.out.println("Queue is " + queue);
// Call iterator() method and Create an iterator
Iterator iteratorValues = queue.iterator();
// Print elements of iterator
System.out.println("\nThe iterator values:");
while (iteratorValues.hasNext()) {
System.out.println(iteratorValues.next());
}
}
}
输出。
Queue is [User, Employee, Manager, Analyst, HR]
The iterator values:
User
Employee
Manager
Analyst
HR
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html#iterator
极客教程