如果我有 2 个数组,如何比较它们并返回最小数组的大小?这就是我的意思:
val a = Array(1,2,3)
val b = Array(1,2,3,4)
是否有一些运算符可以调用来比较两者的大小并返回 3,因为数组 a 更小并且有 3 个元素?
scala> val a = Array(1,2,3)
a: Array[Int] = Array(1, 2, 3)
scala> val b = Array(1,2,3,4)
b: Array[Int] = Array(1, 2, 3, 4)
scala> math.min(a.length, b.length)
res0: Int = 3
scala> val a = Array(1,2,3)
a:Array[Int] = Array(1,2,3)
scala> val b = Array(1,2,3,4)
b:Array[Int] = Array(1,2,3,4)
scala> a.size min b.size
res0: Int = 3
size 方法获取 Array 的大小,min
是两个大小之间的比较器函数。与任何带有两个参数的函数一样,您可以通过将函数名称放在参数之间来调用它。
min
Int
正在执行从到的隐式转换(Scala 在遇到使用错误类型的对象时尝试应用的一组方法)RichInt
。
一种更通用的方法,假设您要比较相同类型的序列。
def getSmallerCollectionSize[T](a:Seq[T],b:Seq[T]) =
Math.min(a.size, b.size)