📜  Java中的 BlockingDeque addLast() 方法及示例(1)

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

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

1. BlockingDeque介绍

BlockingDeque是Java中的一个接口,继承自java.util.concurrent.BlockingQueue和Deque接口。BlockingDeque是一个双端阻塞队列,可以在队列两端插入和删除元素,并且支持阻塞式操作。

BlockingDeque的常用方法有:addFirst(E e),addLast(E e),offerFirst(E e),offerLast(E e),putFirst(E e),putLast(E e),takeFirst(),takeLast(),pollFirst(),pollLast()等。

2. addLast()方法介绍

addLast(E e)方法是BlockingDeque接口中的一个方法,用于在队列的尾部添加一个元素。如果队列已满,则会阻塞,直到队列有可用空间为止。该方法返回true表示添加成功,如果队列已满则会抛出IllegalStateException异常。

3. addLast()方法示例

下面是一个使用addLast()方法的示例。

import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;

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

        // 添加元素到队列的尾部
        deque.addLast("A");
        deque.addLast("B");
        deque.addLast("C");

        // 队列已满,再次添加会阻塞
        deque.addLast("D");
        deque.addLast("E");

        // 遍历队列并打印元素
        for (String str : deque) {
            System.out.println(str);
        }
    }
}

上述代码中,创建了一个容量为5的双端阻塞队列。首先将三个元素添加到队列的尾部,然后再添加两个元素会导致阻塞。最后遍历队列并打印元素。

执行结果如下:

A
B
C
D
E
4. 总结

BlockingDeque是一个双端阻塞队列,支持在队列两端插入和删除元素,并且支持阻塞式操作。addLast(E e)是BlockingDeque接口中的一个方法,用于在队列的尾部添加一个元素。如果队列已满,则会阻塞,直到队列有可用空间为止。