【问题标题】:PriorityQueue Constructor in JavaJava中的PriorityQueue构造函数
【发布时间】:2012-11-13 08:59:07
【问题描述】:

给出示例代码:

Comparator<Node> comparator = this.createCompartor(algorithmChoice , matrix);

this.m_openList1 = new PriorityQueue<Node>(100, comparator);

PriorityQueue 构造函数中的100 代表什么?

【问题讨论】:

标签: java queue priority-queue


【解决方案1】:

这是PriorityQueue 的初始容量。如果您事先知道要添加多少项目(或有一个近似值),您通常会明确指定初始容量。

这也可以在documentation看到:

public PriorityQueue(int initialCapacity, Comparator&lt;? super E&gt; comparator)

创建一个具有指定初始容量的 PriorityQueue,根据指定的比较器对其元素进行排序。

参数:
- initialCapacity - 此优先级队列的初始容量。
- comparator - 用于排序此优先级队列的比较器。如果为 null,则顺序取决于元素的自然顺序。

投掷:
- IllegalArgumentException - 如果 initialCapacity 小于 1

事实上,Java 中的大多数集合都有构造函数,它们接受一个 int 参数来指定初始容量。

【讨论】:

  • 我不明白这里的初始容量到底是什么意思。你能更详细地解释一下吗?这是否意味着不能有超过该值的项目?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 2021-06-02
  • 2012-06-30
相关资源
最近更新 更多