Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Stel numberOfContacts in op 1000.
  • Gebruik een for-each-loop om over elk contact in de lijst contacts te itereren.
  • Retourneer het contact zodra de methode findContact het vindt.
  • Voer de code eerst uit zoals hij is (met de knop Code uitvoeren), wijzig daarna numberOfContacts naar 10000 en 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;
    }
}
Code bewerken en uitvoeren