📌  相关文章
📜  Java中的 BlockingDeque removeLastOccurrence() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:01:51.292000             🧑  作者: Mango

Java中的 BlockingDeque removeLastOccurrence() 方法及示例

简介

Java中的BlockingDeque是一种阻塞队列,是Java.concurrent包中提供的一种线程安全的队列。BlockingDeque继承自Deque接口,可以同时在队列的头部和尾部添加和删除元素,并且可以通过设置容量来实现阻塞等待。removeLastOccurrence()是BlockingDeque接口中的一个方法,用于移除队列中最后出现的指定元素。

方法签名
boolean removeLastOccurrence(Object o)
参数说明
  • o:要从队列中移除的对象。
返回值

如果队列中存在指定元素,则返回true;否则返回false。

示例代码
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;

public class RemoveLastOccurrenceExample {

    public static void main(String[] args) throws InterruptedException {
        // 创建一个容量为10的阻塞双端队列
        BlockingDeque<Integer> deque = new LinkedBlockingDeque<>(10);

        // 添加元素到队列尾部
        for (int i = 0; i < 10; i++) {
            deque.add(i);
        }

        // 添加元素到队列头部
        deque.addFirst(5);

        // 移除队列中最后出现的元素
        boolean result = deque.removeLastOccurrence(5);

        System.out.println("移除结果:" + result);
        System.out.println("移除后队列中的元素:" + deque);
    }
}

在上述代码中,我们创建了一个容量为10的阻塞双端队列,并向队列尾部添加了10个元素。接着,我们向队列头部添加了数字5,并调用removeLastOccurrence()方法移除了最后出现的数字5。最后,我们通过打印队列元素来验证是否成功移除。运行结果如下:

移除结果:true
移除后队列中的元素:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

从输出结果中可以看出,数字5已经被成功移除。注意,如果队列中不存在指定元素,则removeLastOccurrence()方法不会做任何改变,并且返回false。