¿Podrían poner estos videos tambien en la plataforma de Platzi?
La red de mi empresa no permite el acceso a YouTube y creo que no seré el único con ese problema.
Introducción al Curso
Java SE Avanzado: Programación Modular y Base de Datos
Clases avanzadas
Clases Abstractas y Polimorfismo en Java
Reducción de código con clases abstractas en Java
Herencia en Java: Sobreescribir métodos en una clase Triangulo
Polimorfismo en Clases: Herencia y Comportamiento en Java
JavaDocs
Generación de documentación en Java con Javadocs
Programación Orientada a Objetos en Java: Documentación y Etiquetas Javadoc
Documentación de librerías Java: uso de Javadoc
Herencia y Documentación en Java: Uso de Etiquetas @link e @inheritDoc
Generación de documentación HTML con JavaDoc
Clases Anidadas
Clases Anidadas en Java y su Implementación Práctica
Definición de clase Song como clase interna en Album
Clases Anidadas en Java: Creación y Uso de Page en Book
Programación Orientada a Objetos en Java: Clases Anidadas y Listas
Programación con Enumeraciones en Java
Interfaces Avanzadas
Interfaces Avanzadas en Java: Default y Private Methods
Patrones de Diseño: Implementación de DAO en Java
Encapsulamiento y Abstracción en Programación Orientada a Objetos
Diferencias entre Clases Abstractas e Interfaces en Java
Herencia y Métodos en Interfaces Java 8 y 9
Colecciones Avanzadas
Implementaciones de Map en Java: HashMap, LinkedHashMap y TreeMap
Excepciones
Manejo de Excepciones en Java: Conceptos y Prácticas
Manejo de excepciones con bloques try-catch en Java
JDBC
Conexión Java a Bases de Datos con JDBC y MySQL
PreparedStatement
Gestión de Bases de Datos con PhpMyAdmin y XAMPP
Conexión de Java con MySQL: Integración y Configuración
Mapeo de Tablas en Base de Datos Relacional
Persistencia de Datos con Tablas en SQL
SQL y Java: Insert y Update para gestionar visualizaciones
Manejo de Fechas en Bases de Datos con Java
Lambdas
Creación y uso de columnas DATETIME en MySQL
Lambdas en Java: Simplificación de Código y Funcionalidades
Programación Funcional: Lambdas y Funciones de Orden Superior
Expresiones Lambdas en Java: Uso y Buenas Prácticas
Eventos de Clic en Componentes de Interfaces Gráficas
Variables y Lambdas en Programación Funcional
Stream y Filter en Java para Manejo de Colecciones
Filtros y Lambdas en Java: Optimización de Código
Fin del Curso
Clases Abstractas y Anónimas en Java Avanzado
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Las Lambdas, introducidas en Java a partir de la versión 8, son expresiones compactas que ofrecen una manera eficiente de representar pequeñas funciones anónimas. Aunque nuestro curso avanzado de Java está centrado en la versión 9, las Lambdas siguen siendo un componente fundamental que se utiliza extensamente. No son exclusivas de Java, ya que su uso se extiende a otros lenguajes de programación. Esencialmente, permiten escribir código de forma más concisa y son útiles cuando se requieren bloques de código con un ciclo de vida corto dentro de una aplicación.
La sintaxis de una Lambda se divide en dos partes:
->
que separa los parámetros del cuerpo.(parameters) -> {
// cuerpo de la Lambda
}
Es recomendable utilizar Lambdas únicamente para fragmentos de código que tienen un tiempo de vida muy corto, para evitar caer en malas prácticas de programación.
Para definir una Lambda en Java, se puede trabajar con interfaces funcionales. Las interfaces funcionales son aquellas que poseen un único método abstracto y se anotan comúnmente con @FunctionalInterface
como una buena práctica, aunque no es estrictamente necesario.
Las interfaces funcionales son un concepto clave en la programación con Lambdas. Se caracterizan por:
Por ejemplo, en Java, una interfaz funcional básica se podría definir de la siguiente manera:
@FunctionalInterface
public interface OneListener {
void onOne(String message);
}
Crear instancias de una interfaz funcional con Lambdas resulta en un código más limpio y reducido. Compare la implementación tradicional utilizando clases anónimas con la implementación con Lambdas:
OneListener listener = new OneListener() {
@Override
public void onOne(String message) {
System.out.println("Sin Lambda: " + message);
}
};
OneListener listener2 = (message) -> {
System.out.println("Con Lambda: " + message);
};
Ambos fragmentos de código permiten ejecutar la misma lógica, pero las Lambdas simplifican y reducen la cantidad de código necesario.
Las Lambdas son altamente efectivas para trabajar en varios entornos de programación Java. Son particularmente útiles en contextos como:
OnClickListener
.doWork
para gestionar el flujo de datos.El uso de Lambdas promueve la codificación más modular y limpia, lo cual es un componente central en el desarrollo de aplicaciones modernas.
Con curiosidad y práctica constante, puedes maximizar el potencial de las expresiones Lambda, mejorando la eficiencia y modularidad del código en tus proyectos de Java. Mantén el entusiasmo y sigue explorando las tendencias avanzadas dentro del vasto universo de Java.
Aportes 21
Preguntas 4
¿Podrían poner estos videos tambien en la plataforma de Platzi?
La red de mi empresa no permite el acceso a YouTube y creo que no seré el único con ese problema.
Lambdas para imprimir todo un ArrayList
ArrayList<Integer> ar = new ArrayList<>();
ar.add(1);
ar.add(2);
ar.add(3);
ar.forEach(n -> System.out.println(n));
output
1
2
3
Lambda: una forma de representar código. ayudan a crearcódigo que será usado por poco tiempo y también ayudan al encapsulamiento del código, haciendolo visible solamente en el momento en el que se necesite.
Sintáxis:
(parámetros) -> {cuerpo-lambda}
Interfáz funcional:
Debe tener un único método sin imlementación (SAM, Single Abstract Method).
Se indica con la siguiente anotación:
@FunctionalInterface
Clase abstracta:
Una clase se vuelve abstracta en el momento en que se incluye en ella un método abstracto, en ese momento se debe de colocar el modificador abstract
a la clase.
En el minuto 7:47 Ann dice “Vamos a implementar este codigo, y lo que vamos a hacer es CREAR UNA INSTANCIA DE ESTA INTERFACE”; hasta donde recuerdo de las interfaces no se crean instancias directamente, sino que se implementan en alguna otra clase para poder instanciarla despues (indirectamente).
Estoy en lo correcto o me equivoco en algo?
Mi aporte para este tema.
https://www.oracle.com/technetwork/es/articles/java/expresiones-lambda-api-stream-java-2633852-esa.html
Y como sabe la lambda que nos referimos a una interficie u otra? me parece muy abstracto de usar, es decir, si ahora hicieras una segunda interfaz y hicieras una lambda, cual de las 2 interficies haria? oO
Me gusta mas Intellij que eclipse
Mas de 4 años despues, y sigue siendo útil esta clase
Excelente introducción y explicación lambdas
Error en el concepto, una clase abstracta si puede tener más de un método abstracto
Excelente clase.
Por qué la llave o el fin del bloque lleva un punto y coma al final? “};” ?
excelente explicación!!!
Genial, Lamba es algo muy util y funcional.
Olvidaba que los métodos dentro de una interfaz son SIEMPRE Abstractos, por tanto a la hora de declararlo en Java, el uso de la etiqueta Abstract en el método es opcional.
Super claro muchas gracias 😃
OneOneListener onListener = message -> System.out.println("Hola "+message);
😃
propaganda
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?