Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

performance do laço

Essa forma de fazer o laço é performática?? Pq imaginem uma lista de muitos dados e quado encontramos o id como no vídeo ele ainda continua iterando enquanto tiver um próximo elemento certo? não seria mais útil usar um daqueles métodos para saber se há o elemento e simplesmente remover?

2 respostas

Boa tarde José, realmente esse lance da performance é importante e complicado pois quase sempre usamos ArrayList mas existem diversas outras formas de fazer para melhorar a performance

solução!

Olá, José!

Imaginei da mesma forma, e apesar de não ser exatamente como é mostrado no vídeo acredito que encontrei uma solução para a performance

public static void remove(Integer id) {
        Empresa removida = null;

        for (Empresa empresa : Banco.getEmpresas()) {
            if(empresa.getId() == id) {
                removida = empresa;
                break;
            }
        }

        Banco.empresas.remove(removida);
    }

Desta forma quando encontro a empresa com o id igual ao que procuro, simplesmente eu paro o laço.

PS: Acredito que da forma como o prof. Nico fez também possa utilizar o break, quebrando assim o laço após ter removido a empresa da lista.