0
我有這樣的情況下類:優先級隊列與自定義排序
case class Offer(id: Int, amount: Int, interestRate: Double) extends Ordered[Offer] {
def compare(that: Offer) = interestRate.compareTo(that.interestRate)
}
正如你所看到的,我定義了基於Offer.interestRate
排序。我希望訂單在增加。
我創造了這些提議:
Offer(1, 5, 4.0)
Offer(2, 5, 0.5)
Offer(3, 5, 1.5)
,並將它們添加到優先級隊列:
val currentOffers: mutable.PriorityQueue[Offer] = mutable.PriorityQueue.empty[Offer]
的問題是,當我做currentOffers.dequeue()
我得到Offer(1, 5, 4.0)
。
相反,我想獲得:
Offer(2, 5, 0.5)
我需要做什麼改變嗎?