我对 Java 中优先队列的初始容量的使用感到困惑。如官方文档所示,有一个以初始容量作为参数的构造函数。但是当我使用该构造函数指定初始容量并开始将整数放入其中时,优先级队列的大小变得大于初始容量。
例如,我将一个 PQ 的初始容量指定为 3,并将 10 个不同的数字放入其中,以便我可以得到第 3 个最小的数字,但结果是该队列中有 10 个数字。为了解决这个问题,我总是不得不手动删除一些数字,所以我想知道初始容量是如何工作的,或者在这种情况下我应该使用初始容量。
谢谢!
java priority-queue
java ×1
priority-queue ×1