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