Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Sätt numberOfContacts till 1000.
  • Använd en for-each-loop för att iterera genom varje contact i listan contacts.
  • Returnera kontakten när metoden findContact hittar den.
  • Kör koden som den är (med knappen Kör koden), ändra sedan numberOfContacts till 10000 och 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;
    }
}
Redigera och kör kod