У меня внутри ArrayList
с конечным числом объектов. Я хочу посмотреть в списке для конкретного значения в поле, а затем изменить его.
У меня есть следующая реализация.
String searchName = searchedName; //from outside we provide this
Person person = personList.stream()
.filter(personList -> searchName.equals(personList.getName()))
.findFirst()
.orElse(null);
if (person != null){
person.setName(replacement);
}
Этот код работает, но потоки - это не моя специальность, мой вопрос: могу ли я вести себя так же, как и я? Т нужно сделать лишнее, если? Я чувствую, что «если» - это нечто дополнительное, и я хотел бы сделать мой код более эффективным.
Дополнительный вопрос: есть ли способ использовать поток в случае, если у нас есть несколько записей с одинаковым именем, поэтомувместо ".findFirst () .orElse (null)", что я могу использовать, чтобы сохранить его внутри объекта person или возможного нового массива объектов.