The element() 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.
This method differs from peek() only in that it throws an exception if this queue is empty.
Syntax:
E element()
Returns: This method returns the head of the Queue.
Exception: The function throws NoSuchElementException when the queue is empty and the function is called.
Below programs illustrate element() method of Queue:
Program 1: With the help of LinkedList.
// Java Program Demonstrate element() // 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.element()); } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Program 2: With the help of ArrayDeque.
// Java Program Demonstrate element() // 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.element()); } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Program 3: With the help of LinkedBlockingDeque.
// Java Program Demonstrate element() // 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.element()); } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Program 4: With the help of ConcurrentLinkedDeque.
// Java Program Demonstrate element() // 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.element()); } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642
Below programs illustrate exceptions thrown by this method:
Program 5: To show NoSuchElementException.
// Java Program Demonstrate element() // 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.element()); Q.clear(); // print queue System.out.println( "Queue: " + Q); try { // Queue is empty now hence exception System.out.println( "Queue's head: " + Q.element()); } catch (Exception e) { System.out.println( "Exception: " + e); } } } |
Queue: [7855642, 35658786, 5278367, 74381793] Queue's head: 7855642 Queue: [] Exception: java.util.NoSuchElementException
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html#element–