Ir al contenido

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.

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

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.

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.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

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.

Descargar código