1

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

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

为什么它不能有一个带有单个参数的构造函数,称为

 PriorityQueue(Comparator<? super E> comparator) ?
4

1 回答 1

0

我不认为这有什么硬性原因。您不能这样做没有根本原因 - 只需这样做即可添加:

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

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

希望这可以帮助!

于 2013-10-06T00:51:50.297 回答