Я хочу, чтобы иметь возможность возвращать позицию объекта с помощью метода indexOf, но только хочу передать имя контакта для поиска этого, есть ли способ для это нужно сделать?Использование IndexOf с customObject в arrayList
я в настоящее время этот метод:
private static ArrayList<Contacts> contactList = new ArrayList<Contacts>();
public class Contacts {
private String name;
private String number;
public Contacts(String name, String number) {
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public String getNumber() {
return number;
}
public void setName(String name) {
this.name = name;
}
public void setNumber(String number) {
this.number = number;
}
public int findItem(String name) {
return contactList.indexOf(name);
}
Нет, это все еще O (n). Такая «оптимизация», скорее всего, замедлит работу, поскольку получение элементов из любого конца списка может привести к большему количеству попыток кэширования. –
Сложность O (n). Вы можете выполнять половину итераций в своем for-loop, но вы все еще проверяете каждый элемент. Это не лучше, чем повторение всего этого по одному. – nasukkin
Я вижу. Спасибо за уточнение. Я чувствую, что это в среднем поможет вам быстрее ответить? @AndyTurner –