PriorityQueue是Java中的一个数据结构,它是一个优先级队列,可以根据元素的优先级进行排序和访问。
PriorityQueue的用法如下:
创建PriorityQueue对象:
PriorityQueue<Integer> pq = new PriorityQueue<>();
可以根据需要指定比较器来创建PriorityQueue对象,比如:
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
添加元素:
使用add()
或offer()
方法向PriorityQueue中添加元素,例如:
pq.add(5);
pq.offer(10);
访问队首元素:
使用peek()
方法可以访问PriorityQueue的队首元素,即优先级最高的元素,例如:
int first = pq.peek();
删除队首元素:
使用poll()
方法可以删除并返回PriorityQueue的队首元素,例如:
int removed = pq.poll();
判断队列是否为空:
使用isEmpty()
方法可以判断PriorityQueue是否为空,例如:
boolean empty = pq.isEmpty();
获取队列元素数量:
使用size()
方法可以获取PriorityQueue中的元素数量,例如:
int size = pq.size();
需要注意的是,PriorityQueue中的元素默认按照自然顺序进行排序,可以使用比较器来自定义排序规则。另外,PriorityQueue不允许插入null元素。