为什么java中的priorityQueue强制用户在请求比较器时输入初始容量?
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?
为什么不能有一个名为
的单个参数的构造函数 PriorityQueue(Comparator<? super E> comparator) ?
答案 0 :(得分:0)
我认为这不是一个强硬的原因。没有基本的原因你不能这样做 - 只需这样做就可以了:
public PriorityQueue(`Comparator<? super E> comparator) {
this(/* reasonable default */, comparator);
}
我的猜测是,这是对设计的疏忽。正如@Sotirios Delimanolis在评论中指出的那样,在Java 8中将添加这个构造函数。
希望这有帮助!