为什么java中的priorityQueue在请求比较器时强制用户输入初始容量?
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) ?
为什么它不能有一个带有单个参数的构造函数,名为
PriorityQueue(Comparator<? super E> comparator) ?
最佳答案
我认为这没有硬性理由。没有根本原因说明您不能这样做 - 只需这样做即可轻松添加:
public PriorityQueue(`Comparator<? super E> comparator) {
this(/* reasonable default */, comparator);
}
我的猜测是这是设计中的疏忽。正如 @Sotirios Delimanolis 在评论中指出的那样,在 Java 8 中将添加此构造函数。
希望这有帮助!
关于java - 为什么优先级队列构造函数会占用比较器的容量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204235/