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

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

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

BlockingDeque 接口是 Queue 接口和 BlockingQueue 接口的合并,它定义了一个双端队列(deque),并且其中的元素可以在队列的两端插入和移除。

add() 方法

add() 方法是向 BlockingDeque 队列中添加元素的方法之一,该方法会将指定的元素插入到队列尾部。

方法签名
boolean add(E e)
参数
  • e:要添加到队列中的元素
返回值

如果成功添加元素,则返回 true;如果队列已满,则抛出 IllegalStateException 异常。

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

public class BlockingDequeExample {
    public static void main(String[] args) {
        // 创建 BlockingDeque 队列
        BlockingDeque<String> deque = new LinkedBlockingDeque<>(2);

        // 向队列尾部添加元素
        deque.add("A");
        deque.add("B");
        System.out.println(deque); // 输出: [A, B]

        // 尝试向队列尾部添加元素
        if (!deque.offer("C")) {
            System.out.println("队列已满!");
        }

        // 弹出队列头部元素
        String first = deque.pollFirst();
        System.out.println(first); // 输出: A
        System.out.println(deque); // 输出: [B]

        // 向队列头部添加元素
        deque.addFirst("D");
        System.out.println(deque); // 输出: [D, B]

        // 弹出队列尾部元素
        String last = deque.pollLast();
        System.out.println(last); // 输出: B
        System.out.println(deque); // 输出: [D]
    }
}
输出结果
[A, B]
A
[B]
[D, B]
B
[D]