Implémenter une application de gestion de contacts
Vous développez une application de gestion de contacts qui maintient une liste de contacts utilisateur à l’aide d’un ArrayList. Vous devez implémenter puis analyser les performances de votre fonction de recherche afin de déterminer si elle passera à l’échelle lorsque le nombre de contacts augmentera.
Cet exercice fait partie du cours
Optimiser son code en Java
Instructions
- Définissez
numberOfContactsà1000. - Utilisez une boucle for-each pour parcourir chaque
contactdans 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 modifiez
numberOfContactsà10000et exécutez-le à nouveau, en observant comment le temps d’exécution évolue. Soumettez ensuite votre réponse.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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;
}
}