Programación funcional en Java 8 con Lambdas y Streams
4.3 (65 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
264 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Programación funcional en Java 8 con Lambdas y Streams to your Wishlist.

Add to Wishlist

Programación funcional en Java 8 con Lambdas y Streams

Aprende a utilizar los recursos de la programación funcional con Java 8.
4.3 (65 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
264 students enrolled
Created by Domingo Sebastian
Last updated 7/2017
Spanish
Current price: $10 Original price: $80 Discount: 88% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • 3 Articles
  • 33 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Utilizar lambda expressions para mejorar la expresividad del código.
  • Escribir código más compacto y reusable con los Stream y las nuevas interfaces funcionales
  • Construir interfaces que ofrezcan una API más práctica con los métodos default y static
  • Aprovechar las novedades introducidas en las API de Collection, Comparator y otros
View Curriculum
Requirements
  • Es necesario disponer del IDE Eclipse
  • JDK en la version 1.8
Description

Este curso introduce las novedades de Java 8, principalmente las nuevas interfaces funcionales y las lambda expression.

El curso está compuesto de lecciones cortas y centradas en un tema concreto. ¡Ya es bastante complejo asimilar todas las novedades de Java 8 como para aprender cinco cosas al mismo tiempo!

Cada tema, pues, introducirá un nuevo concepto, usando lo aprendido anteriormente y ofreciendo ejercicios para asimilar el contenido.

Y hablando de ejercicios .... Por favor, ¡hazlos!

Los ejercicios son muy prácticos: importa el proyecto en el Eclipse y el mismo editor te indicará cuando los has realizado correctamente o no. ¡Imposible más comodidad!

Recuerda: La teoría sirve para poder hacer los ejercicios. Solo en la práctica es cuando se produce el nuevo conocimiento.

Así pues: empieza con los videos y después de cada tema, súbete las mangas y ¡empieza a trabajar con las lambda expressions!

Recuerda:

  1. Con la compra, tienes 30 días para probar el curso. Si no cumple tus expectativas puedes cancelarlo sin dar ninguna explicación. Se devuelve el 100% del importe.
  2. El pago incluye el acceso a todas las lecciones de por vida. También a actualizaciones que se vayan realizando
Who is the target audience?
  • Programadores familiarizados con el lenguaje Java en una versión anterior a Java 8.
  • NO es un curso de introducción a Java. Si buscas un curso para aprender desde 0 el lenguaje, este curso NO es para ti.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
23 Lectures
01:49:38
+
Instrucciones para los ejercicios
3 Lectures 12:53

¡Lee con atención el contenido de esta lección! Se explica como realizar los ejercicios que irás encontrando a lo largo del curso.

Preview 00:13

¿Que añade Java 8 para hablar del mayor cambio introducido nunca en Java?

¡Veamos un pequeño aperitivo de lo que será el resto del curso!

Preview 06:36

En esta lección mostramos en vídeo como trabajar con los problemas propuestos en el curso.

Preview 06:04
+
Interfaces
3 Lectures 12:44

Los default methods son un añadido a las interfaces que darán soporte a muchas de las novedades de Java 8.

Ahora, es posible que las interfaces incluyan métodos con implementación. En esta lección apuntaremos a las posibilidades que esto ofrece, pero durante el curso iréis viendo muchos más ejemplos de su potencial.

Preview 06:09

Otra opción para añadir código en las interfaces, a parte de los default methods, son los métodos estáticos.

Quizás sea un "hermano pequeño" del cambio presentado en la lección anterior, pero no por ello hay que restar importancia al potencial de los static methods en las interfaces.

Preview 02:18

Y llega el último gran cambio en las interfaces que "prepara el terreno" para las lambda expression.

Desde siempre, las interfaces con un solo método han tenido una especial importancia en nuestros diseños. Llega ahora el momento de formalizar este "protagonismo" bautizándolas como "Functional Interfaces".

@FunctionalInterface
04:17

Repaso de la sección: Interfaces

Repaso sección
5 questions
+
Lambdas
3 Lectures 15:33

Los programadores de Java siempre nos hemos preocupado por los tipos de nuestras variables. ¿Que tipo tienen estos recién llegados "lambda expressions"?

Veámoslo en esta lección

Tipos Lambda
04:32

En esta lección profundizaremos en la forma que tienen las lambda expression. Que variantes hay, de que depende su aspecto y que opciones tenemos.

Lambda expressions
03:57

Solución ejercicio lambda expression
07:04

Repaso sección
4 questions
+
Functional interfaces
3 Lectures 22:51

Ahora que ya sabemos que es una "functional interface" veremos que catálogo de funciones nos ofrece el JDK.

Hay muchas, pero no os preocupéis: entendiendo algunas reglas básicas sabremos cual escoger según nuestras necesidades.

java.util.function
06:32

Una alternativa al uso de las lambda expressions es utilizar directamente métodos ya existentes.

En esta lección veremos como referenciar a distintos tipos de métodos para proporcionar nuestras implementaciones de interfaces funcionales.

Method references
06:10

¿Te imaginas programar sin null y sin NullPointerExceptions?

Ahora es posible: bienvenido a Optional

Optional
10:09

Repaso sección
4 questions
+
Streams
6 Lectures 31:00

Los streams permiten definir "flujos de trabajo" sobre agrupaciones de datos.

Son los nuevos complementos a las Collection para trabajar de forma "funcional". En esta lección realizamos una primera aproximación a ellos.

Que son los streams
04:04

Las operaciones en un stream se organizan en forma de secuencia o cadena. Es el llamado "stream pipeline".

En esta lección veremos las partes de este "pipeline" y los principales tipos de operaciones.

Stream pipeline
06:36

¿En que orden se ejecutan las operaciones de un pipeline?

Puede parecer una pregunta trivial pero no lo es. En esta lección veremos como es este orden y, más importante, ¡como evitar errores por no conocerlo!

Lazyness
04:18

Aunque las operaciones de reduce explicadas en la lección anterior sean muy potentes, no siempre son la mejor opción.

En esta lección veremos que problemas de rendimiento pueden presentar y ofreceremos una alternativa para solucionarlo.

Reducciones "mutables"
02:57

Siguiendo con la idea de la lección anterior: a veces una estructura "mutable" es la más adecuada para ir construyendo el resultado.

En esta lección veremos que posibilidades nos ofrece el JDK para las operaciones más habituales sobre los streams.

Collectors
08:01

¿Es posible realizar las operaciones de un stream de forma paralela? La respuesta es un sí, pero ....

En esta lección veremos como indicar a un stream que su ejecución sea paralela y que limitaciones presenta.

Parallel Streams
05:04

Repaso sección
6 questions
+
Adaptaciones del API
2 Lectures 11:56

Dejamos los streams y vamos a otras aportaciones hechas en Java 8.

Basándonos en lo explicado en las lecciones anteriores, veamos la "revolución" que ha sufrido el framework de Collections.

Collection
07:31

Otro gran beneficiado de los cambios de Java 8 ha sido Comparator.

Veamos como este veterano ha rejuvenecido en la nueva versión.

Comparator
04:25

Repaso sección
3 questions
+
Conclusiones
2 Lectures 02:17

En este punto ya hay poco que decir:

Enhorabuena por tu esfuerzo, suerte en el uso de Java 8 y ¡muchas gracias!

Conclusiones
02:14

Enlaces con referencias útiles para complementar el material del curso

Referencias
00:03
+
Extras
1 Lecture 00:26
Clase extra: Otros cursos
00:26
About the Instructor
Domingo Sebastian
4.3 Average rating
157 Reviews
773 Students
4 Courses
Software Engineer & Trainer

Ingeniero en Informática por la Universitat de les Illes Balears (UIB) y programador certificado en Java.

Llevo desde 1998 trabajando de analista y programador en distintas organizaciones. Empecé trabajando en aplicaciones Oracle con PL/SQL, pero me enganché al Java cuando aún estaba por las versiones 1.1. A partir de aquel momento, he ido trabajando en el interesantísimo ecosistema que se ha ido creando en torno al lenguaje y su máquina virtual.

Tengo más de 10 años de experiencia en formación de Java, JEE, bases de datos, servidores de aplicaciones y herramientas de desarrollo.