Ivan
Ivan

Reputation: 64207

How to check that an array contains a particular value in Scala 2.8?

I've got an array A of D unique (int, int) tuples.

I need to know if the array contains (X, Y) value.

Am I to implement a search algorithm myself or there is a standard function for this in Scala 2.8? I've looked at documentation but couldn't find anything of such there.

Upvotes: 29

Views: 61653

Answers (2)

I found this nice way of doing

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)

Upvotes: 6

huynhjl
huynhjl

Reputation: 41646

That seems easy (unless I'm missing something):

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

I think the api calls you're looking for is in ArrayLike.

Upvotes: 50

Related Questions