由于 Math.min() 函数只允许使用 2 个元素,我想知道是否有另一个函数可以计算多个元素的最小值。
提前感谢!
Math.min(x, Math.min(y, z))
由于Scala通过隐式将min
方法添加到数字中,您可以编写以下代码,看起来更加高级:
x min y min z
如果您有一组数值并想要找到它们的最小值:
val someNumbers: List[Int] = ???
val minimum = someNumbers.min
请注意,如果列表为空,此操作会抛出异常。从scala 2.13.x版本开始,将会提供一个minOption方法来优雅地处理这种情况。 对于较旧的版本,您可以使用reduceOption
方法作为解决方法:
someNumbers.reduceOption(_ min _)
someNumbers.reduceOption(Math.min)
将集合中的所有数字相加,例如列表,并找到其中最小的数。
scala> val list = List(2,3,7,1,9,4,5)
list: List[Int] = List(2, 3, 7, 1, 9, 4, 5)
scala> list.min
res0: Int = 1
.min
方法。 - Andrey Tyukin