📅  最后修改于: 2023-12-03 15:01:54.162000             🧑  作者: Mango
LinkedBlockingDeque是一个可以同时支持从队列两端插入和移除元素的线程安全队列实现类。其中pollFirst()方法用于从队列头部检索并删除一个元素,如果队列为空,则返回null。
public E pollFirst()
无参数。
队列头部的元素,如果队列为空则返回null。
import java.util.concurrent.LinkedBlockingDeque;
public class Example {
public static void main(String[] args) {
LinkedBlockingDeque<String> deque = new LinkedBlockingDeque<>();
deque.add("Alice");
deque.add("Bob");
deque.add("Charlie");
System.out.println(deque.pollFirst()); // 输出:Alice
System.out.println(deque.pollFirst()); // 输出:Bob
System.out.println(deque.pollFirst()); // 输出:Charlie
System.out.println(deque.pollFirst()); // 输出:null
}
}
在上述示例中,我们创建了一个LinkedBlockingDeque对象,并向其中添加了三个元素。然后,我们使用pollFirst()方法分别从队列头部取出了这些元素,并输出了结果。
LinkedBlockingDeque的pollFirst()方法可以让我们方便地获取队列头部的元素,并同时将其从队列中删除。在使用该方法时,务必注意队列为空的情况,并进行相应的处理。