The poll() method of LinkedBlockingDeque 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.
Below programs illustrate poll() method of LinkedBlockingDeque:
Program 1:
// Java Program Demonstrate poll() // method of LinkedBlockingDeque import java.util.concurrent.LinkedBlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) { // create object of LinkedBlockingDeque LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of LinkedBlockingDeque LBD.add( 7855642 ); LBD.add( 35658786 ); LBD.add( 5278367 ); LBD.add( 74381793 ); // Print the queue System.out.println( "Linked Blocking Deque: " + LBD); System.out.println( "Front element in Deque: " + LBD.poll()); // One element is deleted as poll was called System.out.println( "Linked Blocking Deque: " + LBD); } } |
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: 7855642 Linked Blocking Deque: [35658786, 5278367, 74381793]
Program 2:
// Java Program Demonstrate poll() // method of LinkedBlockingDeque // when Deque is empty import java.util.concurrent.LinkedBlockingDeque; import java.util.*; public class GFG { public static void main(String[] args) { // create object of LinkedBlockingDeque LinkedBlockingDeque<Integer> LBD = new LinkedBlockingDeque<Integer>(); // Add numbers to end of LinkedBlockingDeque LBD.add( 7855642 ); LBD.add( 35658786 ); LBD.add( 5278367 ); LBD.add( 74381793 ); // Print the queue System.out.println( "Linked Blocking Deque: " + LBD); // empty deque LBD.clear(); System.out.println( "Front element in Deque: " + LBD.poll()); } } |
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: null
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingDeque.html#poll()