Поиск элемента, соответствующего предикату в Scala

Я пытаюсь найти в коллекции scala элемент в списке, который соответствует некоторому предикату. Мне не обязательно нужно возвращаемое значение, достаточно проверить, содержит ли его список.

На Java я мог бы сделать что-то вроде:

for ( Object item : collection ) {
    if ( condition1(item) && condition2(item) ) {
       return true;
    }
}
return false;

На Groovy я могу сделать что-то вроде:

return collection.find { condition1(it) && condition2(it) } != null

Какой идиоматический способ сделать это в Scala? Я, конечно, могу преобразовать стиль циклов Java в Scala, но мне кажется, что есть более функциональный способ сделать это.

51
задан Jeff Storey 4 March 2012 в 05:23
поделиться