Java中的PriorityQueue构造函数

JAN*_*JAN 2 java queue priority-queue

给出示例代码:

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

this.m_openList1 = new PriorityQueue<Node>(100, comparator);
Run Code Online (Sandbox Code Playgroud)

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

ars*_*jii 5

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

这也可以在文档中看到:

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

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

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

抛出:
- IllegalArgumentException- 如果initialCapacity小于1

事实上,Java中的大多数集合都有构造函数,这些构造函数采用指定初始容量的int参数.