The peek() method of Queue Interface returns the element at the front the container. It does not deletes the element in the container. This method returns the head of the queue. The method does not throws an exception when the Queue is empty, it returns null instead.
Syntax:
E peek()
Returns: This method returns the head of the Queue, it returns false when the Queue is empty
Below programs illustrate peek() method of Queue:
Program 1: With the help of
LinkedList.
// Java Program Demonstrate peek() // method of Queue   import java.util.*;   public class GFG {     public static void main(String[] args)         throws IllegalStateException     {           // create object of Queue         Queue<Integer> Q             = new LinkedList<Integer>();           // Add numbers to end of Queue         Q.add( 7855642 );         Q.add( 35658786 );         Q.add( 5278367 );         Q.add( 74381793 );           // print queue         System.out.println( "Queue: " + Q);           // print head         System.out.println( "Queue's head: " + Q.peek());           // print queue         System.out.println( "Queue: " + Q);     } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642 Queue: [7855642, 35658786, 5278367, 74381793]
Program 2: To demonstrate peek() method of Queue when Queue is empty
// Java Program Demonstrate peek() // method of Queue when Queue is empty   import java.util.*;   public class GFG {     public static void main(String[] args)         throws IllegalStateException     {           // create object of Queue         Queue<Integer> Q             = new LinkedList<Integer>();           // print queue         System.out.println( "Queue: " + Q);           // print head         System.out.println( "Queue's head: " + Q.peek());     } } |
Queue: [] Queue's head: null
Program 3: With the help of ArrayDeque.
// Java Program Demonstrate peek() // method of Queue   import java.util.*;   public class GFG {     public static void main(String[] args)         throws IllegalStateException     {           // create object of Queue         Queue<Integer> Q             = new ArrayDeque<Integer>();           // Add numbers to end of Queue         Q.add( 7855642 );         Q.add( 35658786 );         Q.add( 5278367 );         Q.add( 74381793 );           // print queue         System.out.println( "Queue: " + Q);           // print head         System.out.println( "Queue's head: " + Q.peek());     } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Program 4: With the help of LinkedBlockingDeque.
// Java Program Demonstrate peek() // method of Queue   import java.util.*; import java.util.concurrent.LinkedBlockingDeque;   public class GFG {     public static void main(String[] args)         throws IllegalStateException     {           // create object of Queue         Queue<Integer> Q             = new LinkedBlockingDeque<Integer>();           // Add numbers to end of Queue         Q.add( 7855642 );         Q.add( 35658786 );         Q.add( 5278367 );         Q.add( 74381793 );           // print queue         System.out.println( "Queue: " + Q);           // print head         System.out.println( "Queue's head: " + Q.peek());     } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Program 5: With the help of ConcurrentLinkedDeque.
// Java Program Demonstrate peek() // method of Queue   import java.util.*; import java.util.concurrent.ConcurrentLinkedDeque;   public class GFG {     public static void main(String[] args)         throws IllegalStateException     {           // create object of Queue         Queue<Integer> Q             = new ConcurrentLinkedDeque<Integer>();           // Add numbers to end of Queue         Q.add( 7855642 );         Q.add( 35658786 );         Q.add( 5278367 );         Q.add( 74381793 );           // print queue         System.out.println( "Queue: " + Q);           // print head         System.out.println( "Queue's head: " + Q.peek());     } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html#peek–
[…] peek() and element() methods provided by Queue are used to access the elements of ConcurrentLinkedQueue. […]