Implémenter une application de gestion de contacts
Vous développez une application de gestion de contacts qui maintient une liste de contacts d'utilisateurs au moyen d'un ArrayList. Vous devez implémenter puis analyser la performance de votre fonction de recherche afin de déterminer si elle passera à l'échelle à mesure que le nombre de contacts augmente.
Cette activité fait partie du cours
Optimiser le code en Java
Instructions de l’exercice
- Réglez
numberOfContactsà1000. - Utilisez une boucle « for each » pour parcourir chaque
contactde la listecontacts. - Retournez le contact lorsque la méthode
findContactle trouve. - Exécutez le code tel quel (en utilisant le bouton Exécuter le code), puis changez
numberOfContactsà10000et relancez-le, en observant comment le temps d'exécution change. Soumettez votre réponse ensuite.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;
}
}