Open In App

LinkedBlockingDeque removeLastOccurrence() method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

The removeLastOccurrence() method of LinkedBlockingDeque removes the last occurrence of the specified element from this deque. If the deque does not contain the element, it remains unchanged. It returns true if this deque contained the specified element, else it returns false.

Syntax:

public boolean removeLastOccurrence(Object o)

Parameters: This method accepts a mandatory parameter o which specifies the element whose last occurrence is to be removed from the Dequeue container.

Returns: This method returns true if the element is present and removed from the Deque container, else it returns false.

Below programs illustrate removeLastOccurrence() method of LinkedBlockingDeque:

Program 1: When element is present.




// Java Program to demonstrate removeLastOccurrence()
// method of LinkedBlockingDeque
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // create object of LinkedBlockingDeque
        LinkedBlockingDeque<Integer> LBD
            = new LinkedBlockingDeque<Integer>();
  
        // Add numbers to end of LinkedBlockingDeque
        LBD.add(15);
        LBD.add(20);
        LBD.add(20);
        LBD.add(15);
  
        // print Dequeue
        System.out.println("Linked Blocking Deque: " + LBD);
  
        if (LBD.removeLastOccurrence(15))
            System.out.println("Last occurrence of 15 removed");
        else
            System.out.println("15 not present and not removed");
  
        // prints the Deque after removal
        System.out.println("Linked Blocking Deque: " + LBD);
    }
}


Output:

Linked Blocking Deque: [15, 20, 20, 15]
Last occurrence of 15 removed
Linked Blocking Deque: [15, 20, 20]

Program 2: When element is not present.




// Java Program to demonstrate removeLastOccurrence()
// method of LinkedBlockingDeque
  
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // create object of LinkedBlockingDeque
        LinkedBlockingDeque<Integer> LBD
            = new LinkedBlockingDeque<Integer>();
  
        // Add numbers to end of LinkedBlockingDeque
        LBD.add(15);
        LBD.add(20);
        LBD.add(20);
        LBD.add(15);
  
        // print Dequeue
        System.out.println("Linked Blocking Deque: " + LBD);
  
        if (LBD.removeLastOccurrence(10))
            System.out.println("Last occurrence of 10 removed");
        else
            System.out.println("10 not present and not removed");
  
        // prints the Deque after removal
        System.out.println("Linked Blocking Deque: " + LBD);
    }
}


Output:

Linked Blocking Deque: [15, 20, 20, 15]
10 not present and not removed
Linked Blocking Deque: [15, 20, 20, 15]

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingDeque.html#removeLastOccurrence-java.lang.Object-



Last Updated : 26 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads