PriorityQueue是Java中的一個數據結構,它是一個優(yōu)先級隊列,可以根據元素的優(yōu)先級進行排序和訪問。
PriorityQueue的用法如下:
創(chuàng)建PriorityQueue對象:
PriorityQueue<Integer> pq = new PriorityQueue<>();
可以根據需要指定比較器來創(chuàng)建PriorityQueue對象,比如:
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
添加元素:
使用add()
或offer()
方法向PriorityQueue中添加元素,例如:
pq.add(5);
pq.offer(10);
訪問隊首元素:
使用peek()
方法可以訪問PriorityQueue的隊首元素,即優(yōu)先級最高的元素,例如:
int first = pq.peek();
刪除隊首元素:
使用poll()
方法可以刪除并返回PriorityQueue的隊首元素,例如:
int removed = pq.poll();
判斷隊列是否為空:
使用isEmpty()
方法可以判斷PriorityQueue是否為空,例如:
boolean empty = pq.isEmpty();
獲取隊列元素數量:
使用size()
方法可以獲取PriorityQueue中的元素數量,例如:
int size = pq.size();
需要注意的是,PriorityQueue中的元素默認按照自然順序進行排序,可以使用比較器來自定義排序規(guī)則。另外,PriorityQueue不允許插入null元素。