Archive | Java 8 RSS feed for this section

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 […]

javamixinsjava8

Java Mixins, un ejemplo sencillo

¿Qué son los Java Mixins? . El concepto de Mixin esta asociado a la reutilización de código. Un mixin es una clase que contiene código para que otras clases lo reutilicen pero que no se apoya en la herencia para hacerlo. Dicho así suena un poco extraño pero vamos a ver un ejemplo sencillo que […]

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 […]

JavaTimePackageLocalDate

Java time package y clases fundamentales

Cuanta falta hacía un Java time package en Java8. Hemos vivido muchos años utilizando las clases de Date, Calendar y SimpleDateFormat.  Era más que evidente que se necesitaba una solución mas potente tipo JodaTime dentro del propio API de Java. Con la llegada de Java 8 es una de las cosas que se ha conseguido. […]

Java8FlatMapDiagram

Java 8 FlatMap y Streams

El uso de Java 8 FlatMap es algo que en muchas ocasiones cuesta entender . La programación funcional en Java 8 esta empezando y para la mayor parte de la gente es algo muy nuevo. Vamos a crear un ejemplo sencillo de flatMap, partiremos de dos clases relacionadas Personas y Viajes. Una persona realiza varios […]

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 […]

RxJavaSubscriptor

Introducción a RxJava y sus observables

RxJava es una de las librerías que más interés esta generando dentro de la comunidad. Esto es debido a que cada día nos encontramos con más sistemas que funcionan de forma asíncrona y que necesitan poder gestionar flujos de información complejos. Para entender como funciona RxJava necesitamos entender como funcionan los Observables que son los […]

JavaHighOrderFunctionsDiagrama

Utilizando Java High Order Functions

Java High Order Functions es uno de los conceptos difíciles de entender del nuevo universo de las expresiones Lambda . Una High Order Function es una función que recibe como parámetro otra función o bien devuelve una función . Parece algo cuando menos extraño pero a  veces puede ser muy útil, vamos a ver un ejemplo. […]

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies