The poll() method of BlockingDeque returns the front element in the Deque container and deletes it. It returns null if the container is empty.
Syntax:
Java
Java
public E poll()Parameters: This method does not accept any parameters. Returns: This method returns front element of the Deque container if the container is not empty and deletes it. It returns null if the container is empty. Note: The poll() method of BlockingDeque has been inherited from the LinkedBlockingDeque class in Java. Below programs illustrate poll() method of BlockingDeque: Program 1:
// Java Program Demonstrate poll()
// method of BlockingDeque
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of BlockingDeque
BlockingDeque<Integer> BD
= new LinkedBlockingDeque<Integer>();
// Add numbers to end of BlockingDeque
BD.add(7855642);
BD.add(35658786);
BD.add(5278367);
BD.add(74381793);
// Print the queue
System.out.println("Blocking Deque: " + BD);
System.out.println("Front element in Deque: " + BD.poll());
// One element is deleted as poll was called
System.out.println("Blocking Deque: " + BD);
}
}
Output:
Program 2:
Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: 7855642 Blocking Deque: [35658786, 5278367, 74381793]
// Java Program Demonstrate poll()
// method of BlockingDeque
// when Deque is empty
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.BlockingDeque import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of BlockingDeque
BlockingDeque<Integer> BD
= new LinkedBlockingDeque<Integer>();
// Add numbers to end of BlockingDeque
BD.add(7855642);
BD.add(35658786);
BD.add(5278367);
BD.add(74381793);
// Print the queue
System.out.println("Blocking Deque: " + BD);
// empty deque
BD.clear();
System.out.println("Front element in Deque: " + BD.poll());
}
}
Output:
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingDeque.html#poll(long, %20java.util.concurrent.TimeUnit)Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: null