📅  最后修改于: 2023-12-03 15:16:26.052000             🧑  作者: Mango
Java中的 PriorityBlockingQueue
是一个基于优先级的无界队列。其中,可以使用 peek()
方法来查看队列头部元素,但是并不会将其从队列中移除。
peek()
方法定义如下:
public E peek()
该方法用于获取队列头部元素,但并不会将其从优先级队列中移除。如果队列为空,则返回 null
。
以下示例演示了如何使用 peek()
方法:
import java.util.concurrent.PriorityBlockingQueue;
public class Example {
public static void main(String[] args) {
// 创建一个优先级队列
PriorityBlockingQueue<Integer> queue = new PriorityBlockingQueue<>();
// 添加元素
queue.add(10);
queue.add(5);
queue.add(20);
// 获取头部元素
Integer head = queue.peek();
// 打印结果
System.out.println("队列头部元素:" + head); // 输出:队列头部元素:5
System.out.println("队列:" + queue); // 输出:队列:[5, 10, 20]
}
}
在上面的示例中,我们创建了一个空的优先级队列。使用 add()
方法向队列中添加元素,然后使用 peek()
方法获取队列头部元素。需要注意的是,头部元素并没有被从队列中移除。
peek()
方法用于获取队列头部元素,但不会将其从优先级队列中移除。如果队列为空,则返回 null
。对于读取队列头部元素的场景,可以使用该方法,而不会影响队列中的其他元素。