Hola luisdn.
Los ejercicios están bien resueltos. Solo comentarte que en el segundo ejercicio cuando compruebas las notas,
if(lista.getNota(i) >= 0 && lista.getNota(i) < 5){
System.out.println("Nombre del alumno: "+lista.getNombre(i)+", nota: "+lista.getNota(i)+" es un "+calificacion[3]);
}
if(lista.getNota(i) >= 5 && lista.getNota(i) < 7){
System.out.println("Nombre del alumno: "+lista.getNombre(i)+", nota: "+lista.getNota(i)+" es un "+calificacion[2]);
}
if(lista.getNota(i) >= 7 && lista.getNota(i) < 9){
System.out.println("Nombre del alumno: "+lista.getNombre(i)+", nota: "+lista.getNota(i)+" es un "+calificacion[1]);
}
if(lista.getNota(i) >= 9 && lista.getNota(i) <= 10){
System.out.println("Nombre del alumno: "+lista.getNombre(i)+", nota: "+lista.getNota(i)+" es un "+calificacion[0]);
}
sería mejor que usases else if, de esta forma una vez que se cumpla una de las condiciones no se seguirán evaluando las demás.
Saludos.