如何在Scala 2.8中检查数组是否包含特定值?

时间:2010-10-07 00:20:26

标签: arrays scala

我有一个D唯一(int,int)元组的数组A.

我需要知道数组是否包含(X,Y)值。

我是自己实现搜索算法还是在Scala 2.8中有一个标准函数?我看了documentation,但在那里找不到任何东西。

2 个答案:

答案 0 :(得分:38)

这似乎很容易(除非我遗漏了一些东西):

scala> val A = Array((1,2),(3,4))
A: Array[(Int, Int)] = Array((1,2), (3,4))

scala> A contains (1,2)
res0: Boolean = true

scala> A contains (5,6)
res1: Boolean = false

我认为您正在寻找的api电话位于ArrayLike

答案 1 :(得分:5)

我发现这很好的做法

scala> var personArray = Array(("Alice", 1), ("Bob", 2), ("Carol", 3))
personArray: Array[(String, Int)] = Array((Alice,1), (Bob,2), (Carol,3))

scala> personArray.find(_ == ("Alice", 1))
res25: Option[(String, Int)] = Some((Alice,1))

scala> personArray.find(_ == ("Alic", 1))
res26: Option[(String, Int)] = None

scala> personArray.find(_ == ("Alic", 1)).getOrElse(("David", 1))
res27: (String, Int) = (David,1)