Eine Kontaktverwaltungs-App implementieren
Du entwickelst eine Kontaktverwaltungsanwendung, die eine Liste von Benutzerkontakten mit einer ArrayList verwaltet. Du sollst die Suchfunktion implementieren und anschließend ihre Performance analysieren, um zu beurteilen, ob sie skaliert, wenn die Anzahl der Kontakte wächst.
Diese Übung ist Teil des Kurses
Codeoptimierung in Java
Anleitung zur Übung
- Setze
numberOfContactsauf1000. - Verwende eine for-each-Schleife, um über jeden
contactin der Listecontactszu iterieren. - Gib den Kontakt zurück, sobald die Methode
findContactihn findet. - Führe den Code zunächst unverändert aus (über den Button Code ausführen), ändere dann
numberOfContactsauf10000und führe ihn erneut aus. Beobachte dabei, wie sich die Ausführungszeit verändert. Sende danach deine Antwort.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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;
}
}