У черты Ordering
в Scala есть метод reverse
, который кажется "официальным" способом получения TreeMap
, который сортируется "неправильным" способом.
Фрагмент черты выглядит так:
trait Ordering[T] extends Comparator[T] with PartialOrdering[T] with Serializable {
outer =>
override def reverse: Ordering[T] = new Ordering[T]{
override def reverse = outer
def compare(x: T, y: T) = outer.compare(y, x)
}
/*snip*/
}
Я думал, что это будет работать сравнимо с Collections.reverseOrder
в Java, но Ordering.reverse
, конечно, не работает.
Как я могу использовать обратный порядок с TreeMap, e. g.:
new TreeMap[Foo, Bar](/*???*/)