С Java 8+ вы можете легко найти все элементы коллекции, которые соответствуют Predicate
.Есть ли способ найти первый элемент, соответствующий Predicate?
someCollection.stream().filter(somePredicate)
Вы могли бы найти первый элемент:
someCollection.stream().filter(somePredicate).findFirst()
Проблема с этим, однако, заключается в том, что он запускает Predicate
против всех элементов. Есть ли чистый способ запускать только Predicate
против элементов до тех пор, пока не будет найдено первое совпадение, а затем вернет его, например, anyMatch
делает (но возвращает boolean
, если обнаруживается, что был найден)?
Что заставляет вас думать, что проходит через все элементы 'Stream'? –