【发布时间】:2016-09-06 07:50:39
【问题描述】:
我有这个案例类:
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)
我需要改变什么?
【问题讨论】:
标签: scala priority-queue