Queue poll() method in Java

20 Oct, 2021
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 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());    }}
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 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());    }}
Queue: [423, 3432]
Queue's head: 423
Queue's head: 3432
Queue: []
Queue's head: null

Program 3: With the help of ArrayDeque.
// 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());    }}
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786

Program 4: With the help of ConcurrentLinkedDeque.
// 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());    }}
Queue: [7855642, 35658786, 5278367, 74381793]
Queue's head: 7855642
Queue's head: 35658786

Program 5: With the help of LinkedBlockingDeque.
// 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());    }}
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–
kevinseby20
Java - util package
java-basics
Java-Collections
Java-Functions
java-queue
Java
Java
Java-Collections
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.