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

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

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

简介

BlockingDeque是Java中的双端阻塞队列,它是阻塞的,当队列为空或已满时,线程会阻塞直到队列有空间或有元素。

pollFirst()方法是BlockingDeque的一个实现,它用于获取并移除队列头部的元素。如果队列为空,返回null

方法签名
E pollFirst()
示例

以下示例演示了如何使用BlockingDeque pollFirst()方法从队列中获取并移除队列头部的元素:

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

public class BlockingDequeExample {
    public static void main(String[] args) throws InterruptedException {
        BlockingDeque<String> deque = new LinkedBlockingDeque<>(2);

        // 添加元素到队列尾部
        deque.addLast("element 1");
        deque.addLast("element 2");

        // 从队列头部获取并移除元素
        String firstElement = deque.pollFirst();

        System.out.println("First Element: " + firstElement);
        System.out.println("Deque after pollFirst(): " + deque);

        // 从队列头部获取并移除元素
        String secondElement = deque.pollFirst();

        System.out.println("Second Element: " + secondElement);
        System.out.println("Deque after pollFirst(): " + deque);

        // 从队列头部获取并移除元素,队列为空,返回null
        String thirdElement = deque.pollFirst();

        System.out.println("Third Element: " + thirdElement);
        System.out.println("Deque after pollFirst(): " + deque);
    }
}

输出:

First Element: element 1
Deque after pollFirst(): [element 2]
Second Element: element 2
Deque after pollFirst(): []
Third Element: null
Deque after pollFirst(): []

这个示例创建了一个容量为2的BlockingDeque,并向其添加了两个元素。然后,它两次使用pollFirst()方法从队列头部获取并移除元素。第一次获取的元素是“element 1”,第二次获取的元素是“element 2”。第三次获取的元素是null,因为队列为空。