連絡先管理アプリケーションの実装
あなたは ArrayList を使ってユーザーの連絡先リストを管理する、連絡先管理アプリケーションを開発しています。検索機能を実装し、その性能を分析して、連絡先の数が増えたときにスケールするかどうかを確認する必要があります。
この演習はコースの一部です
Java におけるコードの最適化
演習の手順
numberOfContactsを1000に設定します。- for each ループを使って
contactsリスト内の各contactを反復処理します。 findContactメソッドが連絡先を見つけたら、その連絡先を返します。- まずそのままコードを実行し(コードを実行する ボタンを使用)、次に
numberOfContactsを10000に変更して再度実行し、実行時間の変化を確認します。確認が終わったら回答を送信してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
public class Main {
public static void main(String[] args) {
ContactManager manager = new ContactManager();
// Edit numberOfContacts to see how it affects execution time
int numberOfContacts = ____;
for (int i = 0; i < numberOfContacts; i++) {
manager.addContact(new Contact("Contact_" + i));
}
Contact result = manager.findContact("Contact_" + (numberOfContacts - 1));
System.out.println("Found: " + result.getName());
}
}
public class ContactManager {
private ArrayList contacts;
public ContactManager() {
contacts = new ArrayList<>();
}
public void addContact(Contact contact) {
contacts.add(contact);
}
public Contact findContact(String name) {
// Complete loop to search through contacts
for (Contact ____ : ____) {
if (contact.getName().equals(name)) {
// Return the match
return ____;
}
}
return null;
}
}