The pollFirst() 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 pollFirst()
Parameters: This method does not accept any parameters.
Returns: This method returns front element in the Deque container if the container is not empty and deletes the element. It returns null if the container is empty.
Note: The pollFirst() method of BlockingDeque has been inherited from the LinkedBlockingDeque class in Java.
Below programs illustrate pollFirst() method of BlockingDeque:
Program 1:
// Java Program Demonstrate pollFirst() // 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.addFirst( 7855642 ); BD.addFirst( 35658786 ); BD.addFirst( 5278367 ); BD.addFirst( 74381793 ); // Print the queue System.out.println( "Blocking Deque: " + BD); // prints and deletes System.out.println( "Front element in Deque: " + BD.pollFirst()); // Deque after deletion of front element System.out.println( "Blocking Deque: " + BD); } } |
Blocking Deque: [74381793, 5278367, 35658786, 7855642] Front element in Deque: 74381793 Blocking Deque: [5278367, 35658786, 7855642]
Program 2:
// Java Program Demonstrate pollFirst() // 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 LinkedBlockingDeque LinkedBlockingDeque<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.pollFirst()); } } |
Blocking Deque: [7855642, 35658786, 5278367, 74381793] Front element in Deque: null