The iterator() method of ArrayBlockingQueue class is used to returns an iterator of the same elements as this queue in a proper sequence. The elements returned from this method contains elements in order from first(head) to last(tail). The returned iterator is weakly consistent.
Syntax:
public Iterator iterator()
Return Value: The method returns the iterator having same elements as present in ArrayBlockingQueue in proper sequence.
Below programs illustrates iterator() method of ArrayBlockingQueue class:
Program 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
Program 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
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html#iterator