Java - Deque poll() Method
The Java Deque poll() retrieves and removes the head of the queue represented by this deque.Returns null if this deque is empty. The resulted Deque object is modified and first element is removed.
Declaration
Following is the declaration for java.util.Deque.poll() method
public E poll()
Parameters
NA
Return Value
This method returns the head of the queue represented by this deque, or null if this deque is empty.
Exception
NA
Example 1
The following example shows the usage of Java Deque poll() method with Integers. We're creating an Deque of Integers, adding some elements, print it and then use poll() method to get the first element. As Deque is modified it is printed to check if first element is present or not.
package com.tutorialspoint;
import java.util.ArrayDeque;
import java.util.Deque;
public class DequeDemo {
public static void main(String[] args) {
// create an empty deque
Deque<Integer> deque = new ArrayDeque<>();
// use add() method to add elements in the deque
deque.add(25);
deque.add(30);
deque.add(20);
deque.add(18);
// let us print all the elements available in deque
System.out.println("Deque = " + deque);
// it will retrieve first element after removing from deque
System.out.println("Retrieved Element is = " + deque.poll());
// let us print all the elements available in deque again
System.out.println("Deque = " + deque);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Deque = [25, 30, 20, 18] Retrieved Element is = 25 Deque = [30, 20, 18]
Example 2
The following example shows the usage of Java Deque poll() method with Strings. We're creating an Deque of String, adding some elements, print it and then use poll() method to get the first element. As Deque is modified it is printed to check if first element is present or not.
package com.tutorialspoint;
import java.util.ArrayDeque;
import java.util.Deque;
public class DequeDemo {
public static void main(String[] args) {
// create an empty deque
Deque<String> deque = new ArrayDeque<>();
// use add() method to add elements in the deque
deque.add("A");
deque.add("B");
deque.add("C");
deque.add("D");
// let us print all the elements available in deque
System.out.println("Deque = " + deque);
// it will retrieve first element after removing from deque
System.out.println("Retrieved Element is = " + deque.poll());
// let us print all the elements available in deque again
System.out.println("Deque = " + deque);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Deque = [A, B, C, D] Retrieved Element is = A Deque = [B, C, D]
Example 3
The following example shows the usage of Java Deque poll() method with Student objects. We're creating an Deque of Student, adding some elements, print it and then use poll() method to get the first element. As Deque is modified it is printed to check if first element is present or not.
package com.tutorialspoint;
import java.util.ArrayDeque;
import java.util.Deque;
public class DequeDemo {
public static void main(String[] args) {
// create an empty deque
Deque<Student> deque = new ArrayDeque<>();
// use add() method to add elements in the deque
deque.add(new Student(1, "Julie"));
deque.add(new Student(2, "Robert"));
deque.add(new Student(3, "Adam"));
// let us print all the elements available in deque
System.out.println("Deque = " + deque);
// it will retrieve first element after removing from deque
System.out.println("Retrieved Element is = " + deque.poll());
// let us print all the elements available in deque again
System.out.println("Deque = " + deque);
}
}
class Student {
int rollNo;
String name;
Student(int rollNo, String name){
this.rollNo = rollNo;
this.name = name;
}
@Override
public String toString() {
return "[ " + this.rollNo + ", " + this.name + " ]";
}
@Override
public boolean equals(Object obj) {
Student s = (Student)obj;
return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
}
}
Output
Let us compile and run the above program, this will produce the following result −
Deque = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]] Retrieved Element is = [ 1, Julie ] Deque = [[ 2, Robert ], [ 3, Adam ]]