比较Scala中2个数组的大小

时间:2013-10-29 18:49:00

标签: arrays scala size

如果我有2个数组,我如何比较它们并返回最小数组的大小?这就是我的意思:

val a = Array(1,2,3)
val b = Array(1,2,3,4)

是否有一些运算符我可以调用来比较两者的大小并返回3,因为数组a较小并且有3个元素?

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尝试在遇到使用错误类型的对象时尝试应用的一组方法)从IntRichInt

答案 2 :(得分:0)

更通用的方法,假设您要比较相同类型的序列。

 def getSmallerCollectionSize[T](a:Seq[T],b:Seq[T]) =
      Math.min(a.size, b.size)