Тестирование, если существует предикат соответствия значения
Если вы просто заинтересованы в тестировании, существует ли значение, вы можете сделать это с помощью .... exists
scala> val l=(1 to 4) toList
l: List[Int] = List(1, 2, 3, 4)
scala> l exists (_>5)
res1: Boolean = false
scala> l exists (_<2)
res2: Boolean = true
scala> l exists (a => a<2 || a>5)
res3: Boolean = true
Другоеметоды (некоторые основаны на комментариях):
Подсчет соответствующих элементов
Подсчет элементов, удовлетворяющих предикату (и проверка, если количество> 0)
scala> (l count (_ < 3)) > 0
res4: Boolean = true
Возврат первого соответствующего элемента
Найдите первый элемент, который удовлетворяет предикату (как предложено Томером Габелем и Луиджи Плинге, это должно быть более эффективным, потому что он возвращается, как только находит один элемент, который удовлетворяет предикату, а не обходит весь список в любом случае)
scala> l find (_ < 3)
res5: Option[Int] = Some(1)
// also see if we found some element by
// checking if the returned Option has a value in it
scala> l.find(_ < 3) isDefined
res6: Boolean = true
Проверка, существует ли точное значение
Для простого случая, когда мы на самом деле только проверяем, есть ли один конкретный элемент в списке
scala> l contains 2
res7: Boolean = true