Java中的PriorityBlockingQueue poll()方法
PriorityBlockingQueue概述
PriorityBlockingQueue是Java集合框架中的一种队列实现,它通过一个优先级队列来实现。这意味着插入到PriorityBlockingQueue中的元素是根据它们的优先级进行排序的。因此,可以通过poll()方法获取优先级最高的元素。
下面是PriorityBlockingQueue的构造函数:
public PriorityBlockingQueue()
public PriorityBlockingQueue(int initialCapacity)
public PriorityBlockingQueue(int initialCapacity, Comparator<? super E> comparator)
public PriorityBlockingQueue(Collection<? extends E> c)
poll()方法概述
poll()方法是PriorityBlockingQueue的一种方法,可以用于获取队列中优先级最高的元素。当队列为空时,该方法返回null。下面是poll()方法的签名:
public E poll()
示例代码
下面的示例演示了PriorityBlockingQueue如何使用poll()方法:
import java.util.concurrent.PriorityBlockingQueue;
public class Main {
public static void main(String[] args) {
// 创建一个PriorityBlockingQueue对象
PriorityBlockingQueue<Integer> queue = new PriorityBlockingQueue<Integer>();
// 添加元素到队列中
queue.add(10);
queue.add(20);
queue.add(30);
// 使用poll()方法获取优先级最高的元素
Integer highestPriorityElement = queue.poll();
System.out.println("优先级最高的元素是:" + highestPriorityElement);
// 再次使用poll()方法获取优先级最高的元素
highestPriorityElement = queue.poll();
System.out.println("另一个优先级最高的元素是:" + highestPriorityElement);
}
}
上述代码的输出结果如下:
优先级最高的元素是:10
另一个优先级最高的元素是:20
结论
使用PriorityBlockingQueue的poll()方法可以获取优先级最高的元素。但要注意,poll()方法只是获取队列中最高优先级的元素,并没有从队列中删除该元素。要删除该元素,需要使用remove()方法。