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.
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>();
LBD.add( 15 );
LBD.add( 20 );
LBD.add( 20 );
LBD.add( 15 );
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" );
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.
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>();
LBD.add( 15 );
LBD.add( 20 );
LBD.add( 20 );
LBD.add( 15 );
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" );
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-