如果我有2個數組,我該如何比較它們並返回最小數組的大小?這裏是我的意思是:在Scala中比較2個數組的大小
val a = Array(1,2,3)
val b = Array(1,2,3,4)
有一些運營商,我可以打電話來比較兩者的尺寸,並返回3,因爲數組一個是小,有3個要素是什麼?
如果我有2個數組,我該如何比較它們並返回最小數組的大小?這裏是我的意思是:在Scala中比較2個數組的大小
val a = Array(1,2,3)
val b = Array(1,2,3,4)
有一些運營商,我可以打電話來比較兩者的尺寸,並返回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
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
大小方法獲取該數組的大小和min
是兩個尺寸之間的比較器功能。與使用兩個參數的任何函數一樣,您可以通過在參數之間放置函數名稱來調用它。
min
正在做的隱式轉換(一組方法,這些方法的Scala嘗試當它遇到所使用的錯誤類型的對象適用)從Int
到RichInt
。
您可能需要強調min方法來自Int [RichInt](http://www.scala-lang.org/api/current)的[隱式轉換](http://take.ms/IEYWIE) /index.html#scala.runtime.RichInt) –
請注意,min不是一個運算符,而是一個帶有兩個參數的函數。你可以通過在參數之間加入函數名來調用它。這適用於所有需要兩個參數的功能。 –
謝謝。我相應地調整了我的答案。 – djcastr0
更通用的方法,假設您想比較相同類型的序列。
def getSmallerCollectionSize[T](a:Seq[T],b:Seq[T]) =
Math.min(a.size, b.size)
因爲它現在是非常低的質量。請添加一些解釋以改進您的答案,並使其對未來的讀者也有用,而不僅僅是OP。 –
我想通了,並用於: 如果(a.size> b.size)b.size其他a.size 其工作爲好,但謝謝你。 – user2516663