Obtener el máximo y mínimo de una lista de números con Java 8

10
32160

Desde hace mucho tiempo quiero empezar a escribir sobre Java 8 y el uso de Lambda Expressions. Por cuestiones de tiempo no me ha sido posible dedicarme a escribir sobre el tema. En esta ocasión compartiré pequeños tips sobre el manejo de listas en Java. Ya hemos escrito sobre listas en este blog:

Las expresiones lambda son sumamente útiles cuando se manejan grandes cantidades de datos almacenados en listas. Supongamos que tenemos la siguiente colección de números:

Ahora deseamos saber cual es el máximo y el mínimo de esta serie de datos. En programación convencional haríamos lo siguiente:

Esto funciona bien pero no es eficiente. Para cuestiones de simplicidad (bueno no tanto pero todo es relativo) utilizamos expresiones Lambda propias de la versión 8 del lenguaje de programación Java. El código mostrado arriba quedaría así:

Solo dos líneas… ¿Interesante no? Probemos el código completo:

El resultado es el siguiente:

Obtener el máximo y mínimo de una lista de números con Java8

 

El resultado es exactamente el mismo, pero utilizando menos instrucciones. Espero que esta información les sea útil. Saludos.

0 0 votes
Article Rating
Suscríbete
Notify of
guest

10 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Criss
Criss
2 years ago

Es increíble, recién estoy aprendiendo y justo necesitaba resolver un ejercicio así. Muchas gracias.

lewis
lewis
3 years ago

me podrian decir como hago para recuperar el menor?

lewis
lewis
3 years ago

Si pero, no me funciono el del .min() con la expresión lambada. Me seguia estirando el mayor

tuve que hacer lo tradicional con la vieja confiable FOR

Carlos
Carlos
3 years ago

Una pregunta, tal vez me puedan ayudar, por ejemplo supongamos que «I=6.1» es la respuesta a una operación que tengo, quiero que de una lista de número por ejemplo 6.1, 7.2, 8.3 me escoga el inmediato superior, como sería eso?

Renzo
Renzo
4 years ago

Hola, veo que se inicializa a max en 0, pero esto funciona si el array solo contiene numeros positivos. Hay una forma de obtener el menor de los double para inicializar ocrrectamente a max?

Anthony
Anthony
7 years ago

Maestro !!!!

Moises Serrano
Moises Serrano
8 years ago

Saludos, con que tipo de instrucciones se obtiene mayor velocidad de compilacion?