scala - 如何找到两个 Option[Int] 的 min() 或 max()

标签 scala max option min

你会如何找到minValue以下?
我有自己的解决方案,但想看看其他人会怎么做。

val i1: Option[Int] = ...
val i2: Option[Int] = ...
val defaultValue: Int = ...
val minValue = ?

最佳答案

我认为这就是你所追求的:

val minValue = List(i1, i2).flatten match {
  case Nil => defaultValue
  case xs => xs.min
}

我会避免 sorted因为排序比简单地找到最大值或最小值需要更多的处理(尽管在这种情况下它可能没有太大区别)。

关于scala - 如何找到两个 Option[Int] 的 min() 或 max(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639944/

相关文章:

grails - 如何将选择选项值绑定(bind)到类的属性?

css - 仅显示多项选择中的第一个选项

php - php:onchange选项选择更新总计

json - 如何配置 Circe 以停止使用嵌套类名作为编码 JSON 中的键名?

java - 在 Java ArrayList 中查找最大元素

java - EMR 版本 4.2.0 上的 Scalding 作业因 VerifyError 而失败

MySQL MAX 函数用于不使用 GROUP BY 子句的类别

javascript - JavaScript 中 Math.min 或 Math.max 内的条件语句

scala - 带有 testkit sbt 的循环项目依赖项

scala - Play framework 2.0 - deadLetters 而不是 Actor