Oi, Felipe. Tudo bem com você?
Obrigado por compartilhar sua solução. Seu código atende ao objetivo da atividade, utilizando reduce() para calcular a soma das notas e os métodos max() e min() da Stream para obter a maior e a menor nota. O cálculo da média também foi realizado corretamente a partir da soma dividida pela quantidade de elementos armazenados.
Há apenas um detalhe que vale a pena observar. Você optou por utilizar um HashSet, que não permite valores duplicados. Isso significa que, se dois alunos obtiverem a mesma nota, apenas uma delas será armazenada. Em um cenário de notas de uma turma, normalmente o mais adequado seria utilizar uma List<Double>, já que diferentes alunos podem ter exatamente a mesma nota.
Como você adaptaria esse programa para permitir que notas repetidas fossem consideradas no cálculo das estatísticas?
Parabéns pela resolução e por compartilhar seu código. Continue participando do fórum. Estamos à disposição para ajudar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!