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

Fiz um pouco diferente

Eu faço um pouco diferente. Eu não crio uma referência para cada objeto (sendo list ou set), eu simplesmente o instancio diretamente. Exemplo:

Curso java = new Curso("Curso de Java Collections", "Paulo Silveira");

    java.adiciona(new Aulas("ArrayList", 15));
    java.matricula(new Aluno("Felipe Silva", 1234));

Nesse caso fica mais complicado porque não tem referência para comparar os objetos e para Set é mais difícil de fazer buscas por não ter o método get() para passar posições, então eu tive que criar o método estaMatriculado um pouco diferente:

public boolean estaMatriculado(String nome) {
        for(Aluno al : alunos) {
            if(al.getNome()==nome) {
                return true;
            }
        }
        return false;
    }

Assim eu procuro por String e não passando referência.

A minha pergunta é: é válido o meu método?

2 respostas
solução!

Acredito que dê para simplificar seu código ainda mais usando as streams lambdas... Como por exemplo:

public boolean estaMatriculado(String nome) {
        return alunos.stream.anyMatch(aluno -> nome.equals(aluno.getNome));
    }

Não entendi muito bem mas funcionou kk Preciso estudar bastante sobre lambdas.

Valeu pela dica!