Код: Выделить всё
public class Item {
int id;
String name;
// few other fields, constructor, getters/setters
}
public void foobar() {
List items = getItemList();
List ids = getIdsToLookup();
int id, i = ids.size() - 1;
while (i >= 0) {
id = ids.get(i);
Optional item = items
.stream()
.filter(a -> a.getId() == id)
.findFirst();
// do stuff
i--;
}
}
< /code>
Это лучший способ итерации по списку и получить необходимый мне элемент? Кроме того, я получаю ошибку на линии фильтра для идентификатора, которая говорит, что переменные, используемые в выражениях Lambda, должны быть окончательно или эффективно окончательно. Может быть, я смогу определить ID в цикле Whice, который должен избавиться от исключения. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/359 ... nt-in-list