1
爲什麼java中的priorityQueue強制用戶在請求比較器時輸入初始容量?爲什麼優先級隊列構造函數需要比較器的容量?
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?
爲什麼不能有一個參數的構造被稱爲
PriorityQueue(Comparator<? super E> comparator) ?
爲什麼java中的priorityQueue強制用戶在請求比較器時輸入初始容量?爲什麼優先級隊列構造函數需要比較器的容量?
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?
爲什麼不能有一個參數的構造被稱爲
PriorityQueue(Comparator<? super E> comparator) ?
我不認爲有一個硬和快速的原因。有沒有根本理由,爲什麼你不能做到這一點 - 這將是微不足道的只是這樣做是爲了補充:
public PriorityQueue(`Comparator<? super E> comparator) {
this(/* reasonable default */, comparator);
}
我的猜測是,這是在設計上的疏忽。正如@Sotirios Delimanolis在評論中指出的,在Java 8中,這個構造函數將被添加。
希望這會有所幫助!
注意Java 8將有這樣的構造函數:http://download.java.net/jdk8/docs/api/java/util/PriorityQueue.html –