📅  最后修改于: 2023-12-03 15:01:54.077000             🧑  作者: Mango
LinkedBlockingDeque
是Java中的双向阻塞队列,可在队列两端插入和移除元素。peek()
是其提供的方法之一,用于获取队头元素,但不会从队列中移除该元素。
public E peek()
peek()
方法主要用于获取队头元素。
具体功能如下:
null
。peek()
方法返回队首的元素。若队列为空,则返回null
。
以下示例展示了如何使用peek()
方法获取队头元素。
import java.util.concurrent.LinkedBlockingDeque;
public class LinkedBlockingDequeExample {
public static void main(String[] args) {
// 创建LinkedBlockingDeque对象
LinkedBlockingDeque<String> deque = new LinkedBlockingDeque<>(2);
// 队列中添加元素
deque.add("Java");
deque.add("Python");
// 获取队头元素
String head = deque.peek();
System.out.println("队首元素为:" + head);
// 不会改变队列,队头元素仍为"Java"
System.out.println("队列内容为:" + deque);
// 清空队列
deque.clear();
// 获取队头元素,此时队列为空,返回null
head = deque.peek();
System.out.println("队首元素为:" + head);
// 不会改变队列,队列仍为空
System.out.println("队列内容为:" + deque);
}
}
输出结果:
队首元素为:Java
队列内容为:[Java, Python]
队首元素为:null
队列内容为:[]
LinkedBlockingDeque
类是Java中的双向阻塞队列,提供了丰富的方法来操作队列。peek()
方法是其中之一,用于获取队头元素,但不会从队列中移除该元素。使用该方法可以了解队列当前的状态,避免出现空队列的异常情况。