Если ваш MyClass
реализует equals()
таким образом, что два MyClass
экземпляра равны, если они имеют одинаковое имя, то вы можете просто сделать:
int index = mylist.indexOf(myElement);
MyClass myListElement = mylist.get(index);
К сожалению, в API Collection
/ List
нет метода «получить элемент, который является equal()
этим», который мог бы быть реализован более эффективным способом.
Если у вас нет такой реализации equals()
(или по какой-то причине не хотите ), вам придется делать это скучно, старомодный способ:
MyClass listElement = null;
for (MyClass mc : mylist) {
if (myElement.getName().equals(mc.getName()) {
listElement = mc;
break;
}
}
// if listElement is non-null here, then we found it