Java 8 Streams – Buscando el valor mínimo y máximo


Continuado con los posts sobre Streams en este post explicaremos como realizar búsquedas de el valor mínimo y máximo en una lista de números utilizando Streams.

Solución común

A continuación presentamos la solución común para encontrar el elemento mínimo de una lista:

public static void main(String[] args) {
	List numbers = Arrays.asList(7, 2, 3, 100, 200, 300, 400, 5, 1);
	int min = numbers.get(0);
	for (Integer value : numbers) {
		if (value < min) {
			min = value;
		}
	}
	System.out.println(min);
}

El código anterior devuelve el elemento más pequeño en la lista.

Solución utilizando streams

El siguiente código muestra como realizar la misma búsqueda del número menor utilizando streams.

public static void main(String[] args) {
	List numbers = Arrays.asList(7, 2, 3, 100, 200, 300, 400, 5, 1);
	Integer minValue = numbers.stream().min(Comparator.naturalOrder()).get();
	System.out.println(minValue);
}

Como se puede ver el código anterior es mucho más simple y mucho más fácil de leer, si deseamos buscar el elemento mayor solo debemos ejecutar lo siguiente:

public static void main(String[] args) {
	List numbers = Arrays.asList(7, 2, 3, 100, 200, 300, 400, 5, 1);
	Integer maxValue = numbers.stream().max(Comparator.naturalOrder()).get();
	System.out.println(maxValue);
}

El código anterior mostrará el elemento mayor en la lista.

Para enterarte sobre futuros posts te recomendamos seguirnos en nuestras redes sociales: https://twitter.com/geeks_mx y https://www.facebook.com/geeksJavaMexico/.

Autor: Alejandro Agapito Bautista

Twitter: @raidentrance

Contacto:raidentrance@gmail.com

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s