Я могу сделать это вручную:
Код: Выделить всё
List elements = ...;
Element element = null;
for (var it = elements.listIterator(elements.size()); it.hasPrevious(); ) {
var candidate = it.previous();
if (heavyConditionPredicate.test(candidate)) {
element = candidate;
break;
}
}
Обратите внимание, что elements может быть любым типом List, и тот, который я получаю, не обязательно реализует RandomAccess, поэтому доступ к списку по их индексу также может быть дорогостоящим.
Подробнее здесь: https://stackoverflow.com/questions/610 ... ing-stream