Queue poll() method in Java
Last Updated :
11 Jul, 2025
The
poll() method of
Queue Interface returns and removes the element at the front end of the container. It deletes the element in the container. The method does not throws an exception when the Queue is empty, it returns
null instead.
Syntax:
E poll()
Returns: This method returns the
element at the front of the container or the head of the Queue. It returns
null when the Queue is empty.
Below programs illustrate poll() method of Queue:
Program 1: With the help of
LinkedList.
Java
// Java Program Demonstrate poll()
// 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 and deletes the head
System.out.println("Queue's head: " + Q.poll());
// print head and deleted the head
System.out.println("Queue's head: " + Q.poll());
}
}
Output:
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786
Program 2: To Demonstrate poll() method of Queue when the Queue becomes empty
Java
// Java Program Demonstrate poll()
// method of Queue when the Queue becomes 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>();
// Add numbers to end of Queue
Q.add(423);
Q.add(3432);
// print queue
System.out.println("Queue: " + Q);
// print head and deletes the head
System.out.println("Queue's head: " + Q.poll());
// print head and deleted the head
System.out.println("Queue's head: " + Q.poll());
// print queue
System.out.println("Queue: " + Q);
// print null as Queue is empty now
System.out.println("Queue's head: " + Q.poll());
}
}
Output:
Queue: [423, 3432]
Queue's head: 423
Queue's head: 3432
Queue: []
Queue's head: null
Program 3: With the help of
ArrayDeque.
Java
// Java Program Demonstrate poll()
// 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 and deletes the head
System.out.println("Queue's head: " + Q.poll());
// print head and deleted the head
System.out.println("Queue's head: " + Q.poll());
}
}
Output:
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786
Program 4: With the help of
ConcurrentLinkedDeque.
Java
// Java Program Demonstrate poll()
// 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 and deletes the head
System.out.println("Queue's head: " + Q.poll());
// print head and deleted the head
System.out.println("Queue's head: " + Q.poll());
}
}
Output:
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786
Program 5: With the help of
LinkedBlockingDeque.
Java
// Java Program Demonstrate poll()
// 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 and deletes the head
System.out.println("Queue's head: " + Q.poll());
// print head and deleted the head
System.out.println("Queue's head: " + Q.poll());
}
}
Output:
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html#poll--