Teria algum outro jeito de imprimir a média sem ter que criar um OptionalDouble?
OptionalDouble teste = cursos.stream() .mapToInt(c -> c.getQntAlunos()) .average(); System.out.println(teste);
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Teria algum outro jeito de imprimir a média sem ter que criar um OptionalDouble?
OptionalDouble teste = cursos.stream() .mapToInt(c -> c.getQntAlunos()) .average(); System.out.println(teste);
Ricardo se você utilizar a api de stream para fazer isso terá que mapear o retorno para um OptionalDouble porque é o retorno do método.
Mas se você quiser pode implementar da sua própria maneira, com foreach e tudo mais. Mas tem uma solução ainda mais simples utilizando do método getAsDouble() para retornar um valor double.
Double teste = cursos.stream() .mapToInt(c -> c.getQntAlunos()) .average().getAsDouble();
Entendi, mas do mesmo jeito vc criou uma variavel temporaria, eu queria saber se tem como imprimir direto, algo como:
cursos.stream() .mapToInt(c -> c.getQntAlunos()) .average() .forEach(c -> System.out.println(c.getNome()));
Olá Ricardo, da seguinte forma acredito que atenda a tua necessidade:
cursos.stream()
.mapToInt(c -> c.getQntAlunos())
.average()
.ifPresent(media -> System.out.println(media));
Atte.