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 Queueimportjava.util.*;publicclassGFG{publicstaticvoidmain(String[]args)throwsIllegalStateException{// create object of QueueQueue<Integer>Q=newLinkedList<Integer>();// Add numbers to end of QueueQ.add(7855642);Q.add(35658786);Q.add(5278367);Q.add(74381793);// print queueSystem.out.println("Queue: "+Q);// print head and deletes the headSystem.out.println("Queue's head: "+Q.poll());// print head and deleted the headSystem.out.println("Queue's head: "+Q.poll());}}Output:Queue: [7855642, 35658786, 5278367, 74381793]Queue's head: 7855642Queue'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 emptyimportjava.util.*;publicclassGFG{publicstaticvoidmain(String[]args)throwsIllegalStateException{// create object of QueueQueue<Integer>Q=newLinkedList<Integer>();// Add numbers to end of QueueQ.add(423);Q.add(3432);// print queueSystem.out.println("Queue: "+Q);// print head and deletes the headSystem.out.println("Queue's head: "+Q.poll());// print head and deleted the headSystem.out.println("Queue's head: "+Q.poll());// print queueSystem.out.println("Queue: "+Q);// print null as Queue is empty nowSystem.out.println("Queue's head: "+Q.poll());}}Output:Queue: [423, 3432]Queue's head: 423Queue's head: 3432Queue: []Queue's head: null
Program 3:With the help of
ArrayDeque.
Java// Java Program Demonstrate poll()// method of Queueimportjava.util.*;publicclassGFG{publicstaticvoidmain(String[]args)throwsIllegalStateException{// create object of QueueQueue<Integer>Q=newArrayDeque<Integer>();// Add numbers to end of QueueQ.add(7855642);Q.add(35658786);Q.add(5278367);Q.add(74381793);// print queueSystem.out.println("Queue: "+Q);// print head and deletes the headSystem.out.println("Queue's head: "+Q.poll());// print head and deleted the headSystem.out.println("Queue's head: "+Q.poll());}}Output:Queue: [7855642, 35658786, 5278367, 74381793]Queue's head: 7855642Queue's head: 35658786
Program 4:With the help of
ConcurrentLinkedDeque.
Java// Java Program Demonstrate poll()// method of Queueimportjava.util.*;importjava.util.concurrent.ConcurrentLinkedDeque;publicclassGFG{publicstaticvoidmain(String[]args)throwsIllegalStateException{// create object of QueueQueue<Integer>Q=newConcurrentLinkedDeque<Integer>();// Add numbers to end of QueueQ.add(7855642);Q.add(35658786);Q.add(5278367);Q.add(74381793);// print queueSystem.out.println("Queue: "+Q);// print head and deletes the headSystem.out.println("Queue's head: "+Q.poll());// print head and deleted the headSystem.out.println("Queue's head: "+Q.poll());}}Output:Queue: [7855642, 35658786, 5278367, 74381793]Queue's head: 7855642Queue's head: 35658786
Program 5: With the help of
LinkedBlockingDeque.
Java// Java Program Demonstrate poll()// method of Queueimportjava.util.*;importjava.util.concurrent.LinkedBlockingDeque;publicclassGFG{publicstaticvoidmain(String[]args)throwsIllegalStateException{// create object of QueueQueue<Integer>Q=newLinkedBlockingDeque<Integer>();// Add numbers to end of QueueQ.add(7855642);Q.add(35658786);Q.add(5278367);Q.add(74381793);// print queueSystem.out.println("Queue: "+Q);// print head and deletes the headSystem.out.println("Queue's head: "+Q.poll());// print head and deleted the headSystem.out.println("Queue's head: "+Q.poll());}}Output:Queue: [7855642, 35658786, 5278367, 74381793]Queue's head: 7855642Queue's head: 35658786
Reference:https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html#poll--Explore
Java Basics
OOP & Interfaces
Collections
Exception Handling
Java Advanced
Practice Java