Implementando um aplicativo de gerenciamento de contatos
Você está desenvolvendo um aplicativo de gerenciamento de contatos que mantém uma lista de contatos de usuários usando um ArrayList. Você precisa implementar e depois analisar o desempenho da sua função de busca para determinar se ela vai escalar bem à medida que o número de contatos cresce.
Este exercicio faz parte do curso
Otimização de Código em Java
Instruções do exercicio
- Defina
numberOfContactscomo1000. - Use um laço for-each para iterar por cada
contactna listacontacts. - Retorne o contato quando o método
findContactencontrá-lo. - Execute o código como está (usando o botão Executar código), depois mude
numberOfContactspara10000e execute novamente, observando como o tempo de execução muda. Em seguida, Enviar sua resposta.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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;
}
}