Java 为什么优先级队列构造函数使用比较器占用容量?
为什么java中的priorityQueue在请求comparator时强制用户输入初始容量Java 为什么优先级队列构造函数使用比较器占用容量?,java,constructor,priority-queue,Java,Constructor,Priority Queue,为什么java中的priorityQueue在请求comparator时强制用户输入初始容量 PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ? 为什么它不能调用一个具有单个参数的构造函数 PriorityQueue(Comparator<? super E> comparator) ? 我不认为有什么硬性的理由。没有根本原因说明您不能这样做-只需这样做就可以添加一些内容: p
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?
为什么它不能调用一个具有单个参数的构造函数
PriorityQueue(Comparator<? super E> comparator) ?
我不认为有什么硬性的理由。没有根本原因说明您不能这样做-只需这样做就可以添加一些内容:
public PriorityQueue(`Comparator<? super E> comparator) {
this(/* reasonable default */, comparator);
}
我猜这是设计中的疏忽。正如@Sotirios Delimanolis在评论中指出的,在Java8中,将添加此构造函数
希望这有帮助 注意Java 8将有这样一个构造函数: