Archive | Java Lambda y Streams RSS feed for this section

javastreamforeachoverload

Java Stream forEach y colecciones

El uso de Java Stream forEach poco a poco se va haciendo hueco entre los desarrolladores que utilizan programación funcional. El problema fundamentalmente que existe con el método forEach es que estamos muy acostumbrados a usar un bucle clásico forEach y nos funciona bastante bien .Así que da un poco de pereza cambiarlo . ¿ […]

javalambdainferredtypes

Lambda inferred type y sus ventajas

El uso de Java lambda inferred type es muy común cuando trabajamos con expresiones lambda pero a veces es difícil entender como funcionan. Vamos a construir unos ejemplos que nos ayuden a clarificar el concepto. Para ello vamos a partir de un interface Calculadora que define el concepto de operación para luego apoyarnos en expresiones […]

IntStreamDiagram

Trabajando con Java 8 IntStream y sus métodos

El concepto de Java 8 IntStream hace referencia a Streams compuestos por números enteros. Es algo que en muchas ocasiones puede sernos util a la hora de trabajar ya que aporta algunos métodos interesantes, vamos a verlos: Nuestro primer ejemplo crea un Stream de seis números y lo imprime por pantalla. Podemos hacer lo mismo […]

Lienzo 2

Java 8 Optional y NullPointerExceptions

El uso de Java 8 Optional es cada día más común para todos los que desarrollamos sobre Java 8. ¿Para qué sirve un tipo Optional? . Su uso esta centrado en eliminar muchos de los problemas que ocurren con el manejo de excepciones de tipo NullPointerException . Vamos a ver un ejemplo sencillo. Supongamos que […]

JavaStreamCollectorDiagram

Java Stream Collectors y su uso

Cuanto más usamos los streams más usamos los diferentes Java Stream Collectors para transformar estos. Vamos a ver cuales son las diferentes opciones que Java soporta para transformar  un stream a otro tipo de estructura. Para ello nos vamos a crear la clase Libro y usarla en diferentes ejemplos. Acabamos de instanciar tres objetos ,vamos […]

javapredicateinterfaceor

Java Predicate Interface y sus métodos

¿Cuales son los métodos más utilizados de un Java Predicate Interface? . Estamos muy acostumbrados a usar un predicado concreto para filtrar Streams . Muchas veces se nos olvida que el interface soporta varios métodos que aportan flexibilidad. Vamos a echarlos un vistazo . Para ello partiremos de una colección de Personas que queremos recorrer utilizando […]

javainfinitestreamuso

El concepto de Java infinite Stream

¿Qué es un Java Infinite Stream? . Los streams infinitos son una de las características más interesantes del API de Java 8. Nos permiten realizar operaciones habituales enfocándolas desde la programación funcional. Por ejemplo supongamos que queremos sumar los primeros 1000 números enteros en Java . Es una operación muy sencilla simplemente construimos un bucle […]

programacionimperativadeclarativa

Programacion Imperativa vs Declarativa

¿Qué es la programacion Imperativa? . Todos estamos habituados a programar y cuando lo hacemos habitualmente usamos un enfoque imperativo. ¿Qué quiere decir esto? , pues simplemente que le decimos al lenguaje de programación como tiene que realizar cada uno de los pasos .Le decimos que variables usar, que bucles y sentencias  etc. Es decir […]

Java8PredicateLambda

Utilizando Java 8 Predicate

Crear un Java 8 Predicate , es una de las operaciones que más realizaremos cuando trabajemos con expresiones Lambda y Streams en Java 8. ¿Qué es un Predicado? , un Predicado es un interface funcional que define una condición que un objeto determinado debe cumplir . ¿Por ejemplo es una Persona mayor de 20 años?.   El […]

JavaFunctionalInterfaceImplementacion

Java Functional Interface

¿Qué es un Java Functional Interface? . Java8 incluye muchas novedades y entra ellas destacan las expresiones lambda. Recordemos que una expresión lambda define el comportamiento de una función. Podemos usar la expresión lambda en nuestro código Java : Sin embargo ella sola no compila ya que necesitamos igualarla a una variable lo que no […]