为什么优先级队列构造函数需要使用比较器?

时间:2013-10-06 00:46:03

标签: java constructor priority-queue

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

PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?

为什么不能有一个名为

的单个参数的构造函数
 PriorityQueue(Comparator<? super E> comparator) ?

1 个答案:

答案 0 :(得分:0)

我认为这不是一个强硬的原因。没有基本的原因你不能这样做 - 只需这样做就可以了:

public PriorityQueue(`Comparator<? super E> comparator) {
    this(/* reasonable default */, comparator);
}

我的猜测是,这是对设计的疏忽。正如@Sotirios Delimanolis在评论中指出的那样,在Java 8中将添加这个构造函数。

希望这有帮助!