Implementacja aplikacji do zarządzania kontaktami
Tworzysz aplikację do zarządzania kontaktami, która przechowuje listę kontaktów użytkownika w strukturze ArrayList. Musisz zaimplementować funkcję wyszukiwania, a następnie przeanalizować jej wydajność, aby sprawdzić, czy będzie dobrze skalować się wraz ze wzrostem liczby kontaktów.
To ćwiczenie jest częścią kursu
Optymalizacja kodu w Javie
Instrukcje do ćwiczenia
- Ustaw wartość
numberOfContactsna1000. - Użyj pętli for-each, aby iterować po każdym
contactna liściecontacts. - Zwróć kontakt, gdy metoda
findContactgo znajdzie. - Uruchom kod w obecnej postaci (przyciskiem Uruchom kod), a następnie zmień
numberOfContactsna10000i uruchom go ponownie, obserwując, jak zmienia się czas wykonania. Następnie prześlij odpowiedź.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;
}
}