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

Программисты JAVA общаются здесь
Ответить
Anonymous
 Найти первый элемент по предикату

Сообщение Anonymous »

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

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

Код: Выделить всё

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

Подробнее здесь: https://stackoverflow.com/questions/236 ... -predicate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»