cami-la / desafio-poo-dio

818 stars 1.18k forks source link

Dúvida #35

Open LeonardoFreitasDev opened 1 month ago

LeonardoFreitasDev commented 1 month ago

Olá Camila, criei uma função de cancelamento de matricula na classe Dev:

public void cancelarMatricula(Bootcamp bootcamp){ bootcamp.removerDev(this); System.out.println("Matricula cancelada do bootcamp: " + bootcamp.getNome()); }

Na classe Boootcamp criei a função:

public void removerDev(Dev dev){ this.devsInscritos.remove(dev); }

Porém quando chamo a função cancelar matricula do devJoao na main, e mando listar os devs inscritos, o dev Joao ainda está na lista, pq isso está acontecendo?

cami-la commented 1 month ago

Oi, @LeonardoFreitasDev. Tudo certinho?

Então, faz um tempão que não vejo esse projeto,aí estou meio por fora. Mas vamos tentar fazer o seguinte:

Tenta remover esse dev através de uma expressão lambda:

public void cancelarMatricula(Dev dev) {
        // Remover o dev da lista de devs inscritos usando removeIf
        devsInscritos.removeIf(d -> d.equals(dev));
        System.out.println("Matrícula cancelada do bootcamp: " + nome);
    }

Por favor, vê se dá certo e me diz, que eu te explico.

LeonardoFreitasDev commented 1 month ago

Olá @cami-la, obrigado pelo retorno. Dessa forma deu certo, o usando o removeIf.

cami-la commented 1 month ago

Olá @cami-la, obrigado pelo retorno. Dessa forma deu certo, o usando o removeIf.

Aqui está a explicação sobre o removeIf: https://github.com/cami-la/collections-java-api-2023/issues/58#issuecomment-2111179811

Bons estudos para nós!