我的优先级队列设置如下:
PriorityQueue<Node> pq = new PriorityQueue<Node>(100);
我的指令说,优先级队列的键将是合计=成本+税。我有getCost()和getTax()方法,但是我不知道这里是否需要它们。
我正在尝试删除键值最低的节点。我不确定初始化优先级队列时是否需要指定密钥,或者是否需要
pq.remove()
将自动删除键最低的那个。
答案 0 :(得分:1)
PriorityQueue
需要填充Comparable
元素,或者在构造时要提供Comparator
。因此,您的Node
需要基于总数=费用+税金进行比较。如果操作正确,队列将把最小的元素放在顶部。