Eu entendo que o filter é como um condicional só q sem o if, porém o que eu não entendo é o o map faz de diferente?
Eu entendo que o filter é como um condicional só q sem o if, porém o que eu não entendo é o o map faz de diferente?
O map vai criar uma nova stream a partir do resultado do filtro. ou seja no exemplo map(Curso::getAlunos) ele cria uma stream com a quatidade de alunos de cada curso que foi filtrado no .filter(). A partir desse resultado você pode manipular essa nova stream seja apenas imprimindo, somando, ou de qualquer outra forma. De uma olhada nessa documentação: https://www.oracle.com/br/technical-resources/articles/java-stream-api.html