実際pre-defined lexicographical order for tuplesあり - but you need to import it:
import scala.math.Ordering.Implicits._
また、あなた自身の順序を定義することができます。 は、タプルの第1および第2部材との差に基づいて、私はタプルを手配したいとします
scala> import scala.collection.mutable.PriorityQueue
// import scala.collection.mutable.PriorityQueue
scala> def diff(t2: (Int,Int)) = math.abs(t2._1 - t2._2)
// diff: (t2: (Int, Int))Int
scala> val x = new PriorityQueue[(Int, Int)]()(Ordering.by(diff))
// x: scala.collection.mutable.PriorityQueue[(Int, Int)] = PriorityQueue()
scala> x.enqueue(1 -> 1)
scala> x.enqueue(1 -> 2)
scala> x.enqueue(1 -> 3)
scala> x.enqueue(1 -> 4)
scala> x.enqueue(1 -> 0)
scala> x
// res5: scala.collection.mutable.PriorityQueue[(Int, Int)] = PriorityQueue((1,4), (1,3), (1,2), (1,1), (1,0))
ありがとうございます。前に 'scala.math.Ordering.Implicits._'をインポートしようとしましたが、私は期間を逃しました。 – Antimony
@Antimonyしてください、編集を参照してください。私は+ =操作であなたを間違ってしまいました。あなたは '.enqueue'を使う必要があります。 –