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);
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.