Я пытаюсь создать простую очередь с приоритетами в Scala:
val priorities: mutable.PriorityQueue[Priority] = mutable.PriorityQueue(
Priority(2, 302),
Priority(3, 300),
Priority(5, 400),
Priority(4, 309),
Priority(1, 301)
)(Ordering.by[Priority, Int](_.priority).reverse)
case class Priority(priority: Int, value: Int)
И когда я делаю
priorities.foreach(p => println(p.priority, p.value))
Ожидаемый вывод:
(1,301)
(2,302)
(3,300)
(4,309)
(5,400)
Но вместо этого я получаю:
(1,301)
(2,302)
(5,400)
(4,309)
(3,300)
Как видите, с заказом есть некоторые проблемы. Могу ли я получить некоторую информацию о том, где я иду не так и что я должен сделать, чтобы получить желаемый результат?