indexOfメソッドを使用してオブジェクトの位置を返すことができますが、これを検索するために連絡先の名前を渡したいだけですこれを行うには?arrayListのindexOfをcustomObjectで使用する
私は現在、このメソッドを持っていますHERESに
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ループの半分の反復をしているかもしれませんが、あなたはまだすべての要素を調べています。これは、全体を1つずつ反復するよりも優れていません。 – nasukkin
私は参照してください。説明をありがとうございます。私は平均でこれが速く答えにあなたを得るように感じる? @AndyTurner –