jump to navigation

Máximo y mínimo número de un conjunto Junio 26, 2007

Publicado por lineadecodigo en : Java , trackback

El objetivo de este ejemplo es solventar la necesidad de encontrar dentro de un conjunto el número mínimo y máximo del mismo.

Podríamos implementar un algoritmo donde recorriendo todos los elementos del conjunto fuésemos preguntando si el elemento es el más pequeño o es el más grande.

Si bien, vamos a apoyarnos en el framework Collection para llevar a cabo esta casuistica.

Dentro del framework Collection encontramos dos operaciones:

Lo primero será el crear el conjunto e incluirle elementos:

Set hs = new HashSet();
hs.add(2);
hs.add(4);
hs.add(6);
hs.add(8);

El conjunto es representado por la clase Set, si bien la implementación es un HashSet. El método para añadir los elementos será .add(elemento).

Ahora solo nos quedará 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 dichas operaciones nos olvidamos de cualquier implementación 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 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,... ya implementan dicha función.

No quiere decir que a elementos que no contengan esta función no se les pueda aplicar operaciones del framework Collections, ya que existe la posibilidad de implementar el interface Comparator para buscar una solución.

Visualizar el ejemplo | Descargar el código

Articulos Similares:

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 13183 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

1. marula - Septiembre 27, 2007

no entendi nada

2. DARLING - Septiembre 28, 2007

estamos a mano tampoco entendi NADA

3. Mago y Puto de EPSS - Diciembre 20, 2007

Buena, justo lo que bucaba, pero falta poner la libreria o si esta remarcarla.

4. lineadecodigo - Diciembre 21, 2007

Hola,

Efectivamente en el ejemplo no se hace referencia a la librería. La librería a importar es java.util.

El motivo por el cual no está es no hacer muy pesado el artículo. Si bien, el pecar de exceso puede hacer que no se entienda el ejemplo.

De todas maneras se puede ver en el código disponible para descargar.

5. angelica - Abril 22, 2008

no entendi nada mas ejemplos no cren y menos blablabla

6. maruja - Mayo 9, 2008

no en ten diiiiiiiiiiiiiiiiiii!!

7. MAYERLY - Julio 1, 2008

POR QUE NO SE EXPLICAN MEJOR

8. Jorge Luis - Julio 5, 2008

ok ese metodo no lo conocia e incluso revisando en el api de java…. o talves no o encontre je je je je…
Pero gracias por la informacion

9. Mary - Septiembre 2, 2008

hola quiesiera el codigo fuente en java sobre el determinar el el promedio de solo los numeros negativos ok si ayudenme con eso please

10. Floria - Septiembre 11, 2008

Hola Mary como estas?? mira no estoy segura si existe una funcion en la clase Math para calcular el promedio pero una forma podria ser crear una funcion asi

//vector = {0, -65, 54.23, 3.14, 89, 75, 7,-25,78,-2.25};
//esta funcion, por ejemplo retorna 30.75

public double calcularPromedio(double[] vector)
{ int cont=0;
double result = 0;

for (int i = 0; i < vector.length; i++) {
if(vector[i]< 0)
{ result+= vector[i];
cont++;
}
}

if(result != 0)
return -result/cont;
else
return cont;
}

Espero te sirva … ya que es la primera vez que participo en un foro .. y no suelo ser muy clara para expresarme…suerte

11. Alejandro - Septiembre 24, 2008

Me parecio muy vacana su explicacion. Pero quisiera saber si en el Collections no hay una funcion para hacer operaciones entre dos conjuntos con n elementos.
Gracias al q pueda alludarme rapido.

12. julian abadia mafla - Septiembre 24, 2008

me parecio muy bacan el que hizo esta pagina muy chevere

13. manne - Febrero 25, 2009

Desarrolle un programa que permita leer dos números y ordenarlos de menor a mayor, si es el caso.

14. laura esponja - Noviembre 16, 2009

HOLA POR FA AYUDENMEN CON ESTE PROBLEMA COMO Y QUE FUNCIONES INVOCO EN ESTE PLANTEAMIENTO PROGAMADO EN EN JAVA SCRIPT

Cinco miembros de un club contra la obesidad desean saber cuanto han bajado o subido de peso desde la ultima
vez que se reunieron. Para esto se debe realizar un ritual de pesaje en donde cada uno se pesa en diez básculas
distintas para así tener el promedio mas exacto de su peso. Si existe diferencia positiva entre este promedio de
peso y el peso de la ultima vez que se reunieron, significa que subieron de peso. Pero si la diferencia es
negativa, significa que bajaron. Lo que el problema requiere es que por cada persona se imprima un letrero
que diga: “SUBIO” o “BAJO” y la cantidad de kilos que subió o bajo de peso.


Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen