java鐨勪紭鍏堢骇闃熷垪鎬庝箞浣跨敤
Java鐨勪紭鍏堢骇闃熷垪鍙互浣跨敤java.util.PriorityQueue
绫绘潵瀹炵幇銆備笅闈㈡槸涓€涓娇鐢ㄤ紭鍏堢骇闃熷垪鐨勭ず渚嬶細
import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
// 鍒涘缓涓€涓紭鍏堢骇闃熷垪
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
// 娣诲姞鍏冪礌鍒伴槦鍒?/span>
priorityQueue.offer(5);
priorityQueue.offer(2);
priorityQueue.offer(8);
priorityQueue.offer(3);
// 鎵撳嵃闃熷垪涓殑鍏冪礌
while (!priorityQueue.isEmpty()) {
System.out.println(priorityQueue.poll());
}
}
}
杩愯涓婇潰鐨勪唬鐮佷細杈撳嚭锛?/p>
2
3
5
8
浼樺厛绾ч槦鍒椾細鎸夌収鍏冪礌鐨勪紭鍏堢骇杩涜鎺掑簭銆傞粯璁ゆ儏鍐典笅锛屼紭鍏堢骇闃熷垪涓殑鍏冪礌鎸夌収鑷劧椤哄簭杩涜鎺掑簭銆傚鏋滆鎸囧畾鑷畾涔夌殑鎺掑簭瑙勫垯锛屽彲浠ラ€氳繃浼犲叆Comparator
瀵硅薄鏉ュ垱寤轰紭鍏堢骇闃熷垪锛屼緥濡傦細
import java.util.Comparator;
import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
// 鍒涘缓涓€涓紭鍏堢骇闃熷垪锛屼娇鐢ㄨ嚜瀹氫箟鐨勬帓搴忚鍒?/span>
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Comparator.reverseOrder());
// 娣诲姞鍏冪礌鍒伴槦鍒?/span>
priorityQueue.offer(5);
priorityQueue.offer(2);
priorityQueue.offer(8);
priorityQueue.offer(3);
// 鎵撳嵃闃熷垪涓殑鍏冪礌
while (!priorityQueue.isEmpty()) {
System.out.println(priorityQueue.poll());
}
}
}
涓婇潰鐨勪唬鐮佷細杈撳嚭锛?/p>
8
5
3
2
杩欓噷鎴戜滑閫氳繃浼犲叆Comparator.reverseOrder()
鏉ュ垱寤轰竴涓瘮杈冨櫒锛屼娇寰楀厓绱犳寜鐓ч檷搴忔帓搴忋€?/p>