Как проверить, что массив содержит определенное значение в Scala 2.8? - PullRequest
24 голосов
/ 07 октября 2010

У меня есть массив из D уникальных (int, int) кортежей.

Мне нужно знать, содержит ли массив значение (X, Y).реализовать алгоритм поиска самостоятельно или в Scala 2.8 для этого есть стандартная функция?Я просмотрел документацию , но ничего подобного там не нашел.

Ответы [ 2 ]

38 голосов
/ 07 октября 2010

Это кажется простым (если я что-то упускаю):

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 .

5 голосов
/ 14 августа 2016

Я нашел этот хороший способ сделать

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...