public static void main(String[] args) { // Me creo un map con alumnos Map<String, Alumno> alumnos = new HashMap<String, Alumno>(); alumnos.put("Ana", new Alumno("Ana Pi", 7)); alumnos.put("Eva", new Alumno("Eva González", 8)); alumnos.put("Pep", new Alumno("José Bou", 6)); alumnos.put("Rosa", new Alumno("Rosa", 3)); alumnos.put("Juan", new Alumno("Juan", 4)); System.out.println(mejorAlumno(alumnos)); System.out.println(aprobados(alumnos)); } // Paso como parámetro un hashmap y devuelvo un resultadop public static Alumno mejorAlumno(Map<String, Alumno> alumnos) { Alumno res = null; for (Alumno alumno : alumnos.values()) { if (res == null || alumno.getNota() > res.getNota()) { res = alumno; } } return res; } // Paso como parámetro un hashmap y devuelvo otro hashmap // Filtrando los aprobados public static Map<String, Alumno> aprobados(Map<String, Alumno> alumnos) { Map<String, Alumno> res = new HashMap<String, Alumno>(); // Recorrer el mapa en un par clave valor y filtrar los alumnos for (Map.Entry<String, Alumno> alumno : alumnos.entrySet()) { if (alumno.getValue().getNota() >= 5) { res.put(alumno.getKey(), alumno.getValue()); } } return res; }