lkk*_*ing 9 java priority-queue
在Java中,我不知道如何PriorityQueue使用新的比较器创建一个新的比较但没有给出队列长度?我该如何创建它?
我知道我可以写:
Queue<Node> theQueue = new PriorityQueue<Node>(15,new Comparator<Node>();
Run Code Online (Sandbox Code Playgroud)
但是我希望队列可以工作LinkedList,我的意思是它的长度不固定,我怎么能声明呢?
没有这样的构造函数.根据JavaDocs,默认容量为11,因此您可以为no-arg PriorityQueue构造函数指定类似行为:
Queue<Node> theQueue = new PriorityQueue<Node>(11,new Comparator<Node>());
Run Code Online (Sandbox Code Playgroud)
优先级队列是无限制的,但具有内部容量,用于控制用于存储队列中元素的数组的大小.它始终至少与队列大小一样大.当元素添加到优先级队列时,其容量会自动增加.未指定增长政策的详细信息.
从 Java 版本 8 开始,有一个新的构造函数可以满足您的要求:PriorityQueue(Comparator Comparator)
所以你会得到:
Queue<Node> theQueue = new PriorityQueue<>(new Comparator<Node>());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9945 次 |
| 最近记录: |