java - 为什么优先级队列构造函数会占用比较器的容量?

标签 java constructor priority-queue

为什么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/

相关文章:

python - 在 __init__ 之外定义的实例属性 attribute_name

android - 为不同的线程创建数据库的构造函数

java - 从android中的外部存储访问或打开数据库

java - 我如何确定 setMaxRows 限制了返回的行数 (JDBC)

java - 构造函数编写中的问题

java - 无法让优先级队列/比较器为自定义对象工作

Java优先级队列错误

java - BoundedPriorityBlockingQueue - 线程安全、阻塞和有界?

java - 为什么更改背景后 Android Activity 会移动按钮?

java - 如何使用 Java 在 MongoDB 中执行通配符搜索