Implementera ett kontakthanteringsprogram
Du utvecklar ett kontakthanteringsprogram som håller reda på en lista med kontakter med hjälp av en ArrayList. Du ska implementera och sedan analysera prestandan hos din sökfunktion för att avgöra om den skalar väl när antalet kontakter växer.
Den här övningen är en del av kursen
Optimera kod i Java
Övningsinstruktioner
- Sätt
numberOfContactstill1000. - Använd en for-each-loop för att iterera genom varje
contacti listancontacts. - Returnera kontakten när metoden
findContacthittar den. - Kör koden som den är (med knappen Kör koden), ändra sedan
numberOfContactstill10000och kör igen – observera hur exekveringstiden förändras. Skicka in ditt svar efteråt.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;
}
}