Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么优先级队列构造函数使用比较器占用容量?_Java_Constructor_Priority Queue - Fatal编程技术网

Java 为什么优先级队列构造函数使用比较器占用容量?

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

为什么java中的priorityQueue在请求comparator时强制用户输入初始容量

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将有这样一个构造函数: