LinkedBlockingDeque中的removeLastOccurrence()方法
LinkedBlockingDeque 的 removeLastOccurrence() 方法从这个deque中删除指定元素的最后一次出现。如果deque不包含该元素,则保持不变。如果这个deque包含指定的元素,则返回true,否则返回false。
语法:
public boolean removeLastOccurrence(Object o)
参数: 此方法接受一个必需参数 o ,它指定要从Dequeue容器中删除最后一次出现的元素。
返回: 此方法返回 true ,如果元素存在且从Deque容器中删除,则返回 false 。
下面的程序说明了LinkedBlockingDeque中removeLastOccurrence()方法的使用:
程序1: 当元素存在时。
//演示LinkedBlockingDeque的removeLastOccurrence()方法的Java程序
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// 创建LinkedBlockingDeque对象
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>();
// 添加数字到LinkedBlockingDeque的末尾
LBD.add(15);
LBD.add(20);
LBD.add(20);
LBD.add(15);
//打印 Dequeue
System.out.println("Linked Blocking Deque: " + LBD);
if (LBD.removeLastOccurrence(15))
System.out.println("删除15的最后一次出现");
else
System.out.println("未发现15并未被删除");
// 删除后打印 Deque
System.out.println("Linked Blocking Deque: " + LBD);
}
}
Linked Blocking Deque: [15, 20, 20, 15]
删除15的最后一次出现
Linked Blocking Deque: [15, 20, 20]
程序 2: 当元素不存在时。
// 演示LinkedBlockingDeque的removeLastOccurrence()方法的Java程序
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// 创建LinkedBlockingDeque对象
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>();
// 添加数字到LinkedBlockingDeque的末尾
LBD.add(15);
LBD.add(20);
LBD.add(20);
LBD.add(15);
//打印 Dequeue
System.out.println("Linked Blocking Deque: " + LBD);
if (LBD.removeLastOccurrence(10))
System.out.println("删除10的最后一次出现");
else
System.out.println("未发现10并未被删除");
// 删除后打印 Deque
System.out.println("Linked Blocking Deque: " + LBD);
}
}
Linked Blocking Deque: [15, 20, 20, 15]
未发现10并未被删除
Linked Blocking Deque: [15, 20, 20, 15]
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingDeque.html#removeLastOccurrence-java.lang.Object-
极客教程