ÎncepețiÎncepe gratuit

Implementarea unei aplicații de gestionare a contactelor

Dezvolți o aplicație de gestionare a contactelor care menține o listă de contacte ale utilizatorului folosind un ArrayList. Trebuie să implementezi funcția de căutare și să analizezi performanța acesteia, pentru a determina dacă se va scala eficient pe măsură ce numărul de contacte crește.

Acest exercițiu face parte din cursul

Optimizarea codului în Java

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează numberOfContacts la 1000.
  • Folosește o buclă for-each pentru a itera prin fiecare contact din lista contacts.
  • Returnează contactul atunci când metoda findContact îl găsește.
  • Rulează codul așa cum este (folosind butonul Rulează codul), apoi schimbă numberOfContacts la 10000 și rulează-l din nou, observând cum se modifică timpul de execuție. Trimite răspunsul după aceea.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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;
    }
}
Editează și rulează codul