java - 将 Java 比较器转换为 Scala 排序

标签 java scala scala-java-interop

我正在寻找一种将 Java Comparator 转换为 scala Ordering 的简单而优雅的方法。

用例:

我有一个 Scala 集合,我想使用 Java 代码中定义的比较器对其进行排序:

val comparator = getComparator()
val collection = Seq("a","b")
collection.sorted(???)

最佳答案

标准库中已经存在隐式转换:scala.math.Ordering.comparatorToOrdering

您只需要导入即可使用它:

import scala.math.Ordering.comparatorToOrdering

val comparator = getComparator()
val collection = Seq("a","b")
collection.sorted(comparator)

关于java - 将 Java 比较器转换为 Scala 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848205/

相关文章:

java - 用于创建大数据 View 的轻量级 Java 解决方案

java - ArrayList<Class> 中的 String[]

JDK 7 中有关私有(private)成员访问的 javac 行为更改

scala - Play Framework, Specs2 - 直接从单元测试调用 Controller 方法

scala - 将 Scala 应用程序作为 Java 应用程序运行

java - 互操作 : sharing Datasets of objects or Row between Java and Scala, 两种方式。我将 Scala 数据集操作放在 Java 的中间

java - 如何使用 java 将集合转换为 scala

java - 为什么我从 system.out.println() 和 system.exit() 得到两个不同的值?

java - 如何在 Akka 中确定消息何时发送

Scala 映射到 Java HashMap