Een applicatie voor contactenbeheer implementeren
Je bouwt een applicatie voor contactenbeheer die een lijst met contacten bijhoudt met een ArrayList. Je moet de zoekfunctie implementeren en daarna de performance analyseren om te bepalen of deze goed schaalt naarmate het aantal contacten toeneemt.
Deze oefening maakt deel uit van de cursus
Code optimaliseren in Java
Oefeninstructies
- Stel
numberOfContactsin op1000. - Gebruik een for-each-loop om over elk
contactin de lijstcontactste itereren. - Retourneer het contact zodra de methode
findContacthet vindt. - Voer de code eerst uit zoals hij is (met de knop Code uitvoeren), wijzig daarna
numberOfContactsnaar10000en voer hem opnieuw uit. Let op hoe de uitvoeringstijd verandert. Verstuur daarna je antwoord.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;
}
}