1.一个基于优先级堆的无界优先级队列。优先级队列的元素默认按照其自然顺序进行排序(即默认小根堆),大根堆需要通过构造方法重写Comparator接口的compare方法。
2.初始容量为11,线程不安全,线程安全的实现结构为PriorityBlockingQueue。
3.小根堆的实现
public class findTopK {
//找出前k个最大数,采用小顶堆实现
public static int[] findKMax(int[] nums, int k) {
PriorityQueue<Integer> pq = new PriorityQueue<>(k);//队列默认自然顺序排列,小顶堆,不必重写compare
for (int num : nums) {
if (pq.size() < k) {
pq.offer(num);
} else if (pq.peek() < num) {
//如果堆顶元素 < 新数,则删除堆顶,加入新数入堆
pq.