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:
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);     } } |
Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: 7855642 Blocking Deque: [35658786, 5278367, 74381793]
Program 2:
// 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());     } } |
Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: null