相关疑难解决方法(0)

如何按字母顺序比较scala元组?

鉴于两个相同的元组,我如何按字典顺序比较它们?看起来这应该像下面的代码片段一样简单,但事实并非如此.任何简单的例子如何做到这一点?

var x = (1,2,3) < (1,2,4)
Run Code Online (Sandbox Code Playgroud)

如果他们列出,我可以定义一个递归函数,比较列表的头部直到找到差异或列表的结尾,但我不认为我可以为元组做到这一点.

scala tuples

17
推荐指数
2
解决办法
7176
查看次数

具有自定义排序的优先队列

我有这个案例类:

case class Offer(id: Int, amount: Int, interestRate: Double) extends Ordered[Offer] {

  def compare(that: Offer) = interestRate.compareTo(that.interestRate)
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我定义了基于Offer.interestRate. 我希望订单增加。

我创建了这些优惠:

Offer(1, 5, 4.0)
Offer(2, 5, 0.5)
Offer(3, 5, 1.5)
Run Code Online (Sandbox Code Playgroud)

并将它们添加到优先级队列中:

val currentOffers: mutable.PriorityQueue[Offer] = mutable.PriorityQueue.empty[Offer]
Run Code Online (Sandbox Code Playgroud)

问题是,当我这样做时,currentOffers.dequeue()我得到Offer(1, 5, 4.0).

相反,我想得到:

Offer(2, 5, 0.5)

我需要改变什么?

scala priority-queue

2
推荐指数
1
解决办法
2808
查看次数

标签 统计

scala ×2

priority-queue ×1

tuples ×1