Как проверить, что массив содержит определенное значение в Scala 2.8?
У меня есть массив A из D уникальных (int, int) кортежей.
Мне нужно знать, содержит ли массив (X, Y) значение.
Мне самому реализовать алгоритм поиска или есть стандартная функция для этого в Scala 2.8? Я посмотрел документацию, но не смог найти что-либо из этого.
Ответы
Ответ 1
Это кажется легким (если я чего-то не хватает):
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.
Ответ 2
Я нашел этот хороший способ сделать
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)