Comece agoraComece grátis

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

Ver curso

Instruções do exercicio

  • Defina numberOfContacts como 1000.
  • Use um laço for-each para iterar por cada contact na lista contacts.
  • Retorne o contato quando o método findContact encontrá-lo.
  • Execute o código como está (usando o botão Executar código), depois mude numberOfContacts para 10000 e 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;
    }
}
Editar e Executar Código