0

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

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

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

4

3 回答 3

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
于 2013-10-29T18:55:10.407 回答
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是两个大小之间的比较器函数。与任何带有两个参数的函数一样,您可以通过将函数名称放在参数之间来调用它。

minInt正在执行从到的隐式转换(Scala 在遇到使用错误类型的对象时尝试应用的一组方法)RichInt

于 2013-10-29T19:07:16.053 回答
0

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

 def getSmallerCollectionSize[T](a:Seq[T],b:Seq[T]) =
      Math.min(a.size, b.size)
于 2013-10-29T22:41:58.240 回答