Реалізація застосунку для керування контактами
Ви розробляєте застосунок для керування контактами, який зберігає список контактів користувачів у ArrayList. Вам потрібно реалізувати, а потім проаналізувати продуктивність функції пошуку, щоб визначити, чи добре вона масштабуватиметься зі зростанням кількості контактів.
Ця вправа є частиною курсу
Оптимізація коду в Java
Інструкції до вправи
- Встановіть
numberOfContactsу значення1000. - Використайте цикл for-each, щоб пройтися по кожному
contactу спискуcontacts. - Поверніть контакт, коли метод
findContactйого знайде. - Запустіть код як є (кнопкою Run Code), потім змініть
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;
}
}