Use reduce() para la suma y min() / max() para obtener los valores extremos.
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Double> notas = List.of(7.5, 8.0, 6.5, 9.0, 10.0);
// Suma total usando reduce()
double suma = notas.stream()
.reduce(0.0, Double::sum);
// Media
double media = suma / notas.size();
// Nota mínima
double notaMinima = notas.stream()
.min(Double::compare)
.orElse(0.0);
// Nota máxima
double notaMaxima = notas.stream()
.max(Double::compare)
.orElse(0.0);
System.out.println("La media de las notas es: " + media);
System.out.println("La nota más baja fue: " + notaMinima);
System.out.println("La nota más alta fue: " + notaMaxima);
}
}
Salida:
La media de las notas es: 8.2
La nota más baja fue: 6.5
La nota más alta fue: 10.0