Найти первый элемент по предикату

Я только начал играть с лямбдами Java 8 и пытаюсь реализовать некоторые вещи, к которым я привык в функциональных языках.

Например, большинство функциональных языков имеют какую-то функцию поиска, которая работает с последовательностями, или списки, которые возвращают первый элемент, для которого предикатtrue, Единственный способ добиться этого в Java 8 - это:

lst.stream()
    .filter(x -> x > 5)
    .findFirst()

Однако это кажется мне неэффективным, так как фильтр будет сканировать весь список, по крайней мере, насколько я понимаю (что может быть неправильно). Есть ли способ лучше?

Ответы на вопрос(5)

Ваш ответ на вопрос