如果我有2个数组,我如何比较它们并返回最小数组的大小?这就是我的意思:
val a = Array(1,2,3)
val b = Array(1,2,3,4)
是否有一些运算符我可以调用来比较两者的大小并返回3,因为数组a较小并且有3个元素?
答案 0 :(得分: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
答案 1 :(得分:0)
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
正在进行隐式转换(Scala尝试在遇到使用错误类型的对象时尝试应用的一组方法)从Int
到RichInt
。
答案 2 :(得分:0)
更通用的方法,假设您要比较相同类型的序列。
def getSmallerCollectionSize[T](a:Seq[T],b:Seq[T]) =
Math.min(a.size, b.size)