我尝试过查看很多网站,例如:
Java PriorityQueue with fixed size
但他们似乎没有回答我的问题。
更具体地说,我正在尝试实现一个自定义优先级队列,其中我只能有一个零{1}参数构造函数,可以是zero
/ capacity
/ p-queue
对象。这是否可能考虑到线程
讨论2-arg构造函数(capacity
,comparator
)?
补充:P-Queue的值是否总是作为二叉树存储和检索?那么它们总是不会被排序吗?例如[5, 6, 6, 64, 9]
答案 0 :(得分:1)
PriorityQueue
已经有一个零参数构造函数。你可以自己看看
如果你阅读javadocs,很容易。无论这是否适合您的目的我都不能说。它
确实要求您使用实现可比较的类型(例如String,Integer)
否则队列将无法知道如何订购元素。
capacity
的情况下, PriorityQueue
不是最大容量,而只是提示
你认为在同一时间队列中有多少元素。它只有性能
这意味着,他们队列的语义完全独立于此。
以任何顺序存储(插入)值,但按顺序检索。那就是
优先级队列的一个点。每次追加时自动排序的列表
它将为您提供与javas PriorityQueue
完全相同的语义。列表实现的思路非常低效,这就是你使用堆的原因。
我不确定这是否是对您要求的回复,所以如果不是请 澄清你的困惑。