2017-07-13 44 views
2

我有一個二維數組和另一個一維數組的矩陣。我從矩陣中取出一個元素並檢查它是否存在於數組中。以下是代碼。如何檢查一個特定值是否存在於Scala中的一個數組中

val array_intrval = Array.ofDim[Int](10) 
var joint_matrix = Array.ofDim[Int][Int](5)(2) 
for(i <- 0 to 4) { 
    for (j <- 0 to 1) { 
    var a = joint_matrix(i)(j) 

在此之後,我要檢查是否在array_intrval一個存在,如果不是在array_intrval添加,然後檢查是否有一些元素是小於或等於。如果是的話,也把它們放在array_intrval中。如果array_intrval中存在一個,請跳過並檢查joint_matrix中的下一個元素。

我是斯卡拉的初學者,無法執行此操作。任何有關這方面的幫助將不勝感激。

+0

「我是斯卡拉的初學者,無法執行此操作。」所以你需要學習一些東西。你究竟在哪裏卡在這裏?看看'find'(定位'a')和'filter'(返回其他小於'a'的元素)。你的描述中有一些不明確的地方 - 如果一個元素是從以前的迭代中添加的,但是在這個迭代中匹配,你又添加了它嗎?如果有多個匹配'a'的元素,你會多次添加'a'?注意,如果你這樣做,那麼'array_intrval'可能太小 –

+0

我剛剛修改了這個問題。所以你需要學習一些東西_很明顯,我正在這個過程中。謝謝你的提示。我會檢查查找和過濾。 –

+0

我假設你的意思是0到4和0到1,因爲Scala有零基數組。 –

回答

1

查看Array類的文檔。你會發現很多有用的方法。例如,可以使用稱爲contains的方法來檢查數組中是否存在某個元素。

scala> val array_intrval = Array.ofDim[Int](10) 
array_intrval: Array[Int] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 

scala> array_intrval(1) = 2 

scala> array_intrval 
res1: Array[Int] = Array(0, 2, 0, 0, 0, 0, 0, 0, 0, 0) 

scala> array_intrval.contains(2) 
res3: Boolean = true 

scala> array_intrval.contains(0) 
res4: Boolean = true 

scala> array_intrval.contains(5) 
res5: Boolean = false 
相關問題