Máximo y mínimo número de un conjunto
El objetivo de este ejemplo es solventar la necesidad de encontrar, dentro de un conjunto, el número mínimo y el número máximo.
Podríamos implementar un algoritmo que recorra todos los elementos del conjunto y vaya comprobando si el elemento es el más pequeño o el más grande. Sin embargo, vamos a apoyarnos en el framework Collections para llevar a cabo esta casuística.
Dentro del framework encontramos dos operaciones:
min(conjunto): devuelve el elemento mínimo del conjunto.max(conjunto): devuelve el elemento máximo del conjunto.
Crear el conjunto
Sección titulada «Crear el conjunto»Lo primero será crear el conjunto e incluirle elementos:
Set<Integer> hs = new HashSet<>();
hs.add(2);hs.add(4);hs.add(6);hs.add(8);El conjunto se representa mediante la interfaz Set, y la implementación utilizada es HashSet. El método para añadir elementos es .add(elemento).
Obtener el máximo y el mínimo
Sección titulada «Obtener el máximo y el mínimo»Ahora solo nos queda invocar a los métodos .max(...) y .min(...):
System.out.println("El número mayor del conjunto es... " + Collections.max(hs));System.out.println("El número menor del conjunto es... " + Collections.min(hs));Invocando estas operaciones nos olvidamos de cualquier implementación manual del algoritmo que calcule el mínimo y el máximo.
Comparación de elementos
Sección titulada «Comparación de elementos»Pero nos surge una duda: ¿cómo saben estos métodos realizar la comparación entre los números? ¿Y si fuese otro tipo de datos?
A la hora de utilizar dichas operaciones, el framework espera que a los elementos de los cuales queremos saber su mínimo y máximo se les pueda aplicar la función compareTo.
Clases como Integer, Float, etc. ya implementan dicha función. Esto no quiere decir que a elementos que no la contengan no se les pueda aplicar operaciones del framework, ya que existe la posibilidad de implementar la interfaz Comparator para buscar una solución.
Descarga el código de Máximo y mínimo número de un conjunto
Uso de los métodos max y min del paquete Collection para poder calcular el máximo y mínimo número de un conjunto.