Uno de los nuevos componentes mas importantes de la próxima versión de Java es el soporte a nivel lenguaje de expresiones lambda (conocidas también como funciones anónimas o clausuras). El objetivo de la plática es de conocer el soporte para expresiones lambda en Java 8 y las ventajas y mejoras que trae consigo al lenguaje.
Los puntos que se discutirían en la plática son:
Breve introducción a la programación funcional
Porque debe interesarnos la programación funcional
Sintaxis de expresiones lambda en Java
Ventajas de las expresiones lambda
Comprativa de código de Java 7 con Java 8
Mejoras en APIs existentes (Collections)
Este documento habla sobre la programación funcional. Brevemente describe su historia, ventajas técnicas como la modularidad, expresividad y seguridad, y su uso en la industria por compañías como Facebook, Twitter, LinkedIn y WhatsApp.
Introduction of Java 8 with emphasis on Lambda Expressions and StreamsEmiel Paasschens
Lambda expressions and streams are major new features in Java 8. Lambda expressions allow treating functionality as a method argument or variable. Streams provide a new way to process collections of objects in a declarative way using intermediate and terminal operations. The document provides examples of lambda expressions, method references, functional interfaces, default methods on interfaces, and stream operations like filter, map, and reduce.
En la constante búsqueda de lograr hacer código mas compacto, que nos permitan acortar los tiempos de desarrollo, es que Java ha desarrollado la programación funcional.
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
La programación funcional se basa en el cálculo lambda y enfatiza el uso de funciones puras sin efectos secundarios. Los lenguajes funcionales como Lisp, Scheme y otros derivan del cálculo lambda y tratan a las funciones como datos de primer orden. La característica clave es evitar el cambio de estado mediante el uso de funciones matemáticas puras.
El documento presenta el código Java para crear una interfaz gráfica con dos botones, uno simple y otro elegante con iconos. Incluye una clase MarcoBoton que extiende de JFrame para agregar los botones al marco, e implementa un manejador de eventos para mostrar mensajes cuando se oprimen. También presenta una clase PruebaBoton con el método main para iniciar la interfaz y mostrarla.
El documento presenta el código para crear dos botones, uno básico y otro elegante con iconos, en Java. Se importan las librerías necesarias como AWT, Swing y se crea una clase MarcoBoton que extiende de JFrame para mostrar los botones. También se incluye una clase interna ManejadorBoton que implementa ActionListener para mostrar mensajes cuando se oprimen los botones. Finalmente, la clase PruebaBoton crea una instancia de MarcoBoton y la configura para probar los botones.
Herencia para jframe y diseño de jmenu,j internalframe, jdialogLCA
Este documento describe cómo implementar una aplicación de Java con múltiples ventanas utilizando JFrame, JInternalFrame y JDialog. Instruye al lector sobre cómo agregar barras de menú, elementos de menú y acciones de eventos para mostrar u ocultar ventanas internas según la selección del menú. También explica cómo mostrar diálogos modales utilizando JDialog.
Este documento habla sobre la programación funcional. Brevemente describe su historia, ventajas técnicas como la modularidad, expresividad y seguridad, y su uso en la industria por compañías como Facebook, Twitter, LinkedIn y WhatsApp.
Introduction of Java 8 with emphasis on Lambda Expressions and StreamsEmiel Paasschens
Lambda expressions and streams are major new features in Java 8. Lambda expressions allow treating functionality as a method argument or variable. Streams provide a new way to process collections of objects in a declarative way using intermediate and terminal operations. The document provides examples of lambda expressions, method references, functional interfaces, default methods on interfaces, and stream operations like filter, map, and reduce.
En la constante búsqueda de lograr hacer código mas compacto, que nos permitan acortar los tiempos de desarrollo, es que Java ha desarrollado la programación funcional.
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
La programación funcional se basa en el cálculo lambda y enfatiza el uso de funciones puras sin efectos secundarios. Los lenguajes funcionales como Lisp, Scheme y otros derivan del cálculo lambda y tratan a las funciones como datos de primer orden. La característica clave es evitar el cambio de estado mediante el uso de funciones matemáticas puras.
El documento presenta el código Java para crear una interfaz gráfica con dos botones, uno simple y otro elegante con iconos. Incluye una clase MarcoBoton que extiende de JFrame para agregar los botones al marco, e implementa un manejador de eventos para mostrar mensajes cuando se oprimen. También presenta una clase PruebaBoton con el método main para iniciar la interfaz y mostrarla.
El documento presenta el código para crear dos botones, uno básico y otro elegante con iconos, en Java. Se importan las librerías necesarias como AWT, Swing y se crea una clase MarcoBoton que extiende de JFrame para mostrar los botones. También se incluye una clase interna ManejadorBoton que implementa ActionListener para mostrar mensajes cuando se oprimen los botones. Finalmente, la clase PruebaBoton crea una instancia de MarcoBoton y la configura para probar los botones.
Herencia para jframe y diseño de jmenu,j internalframe, jdialogLCA
Este documento describe cómo implementar una aplicación de Java con múltiples ventanas utilizando JFrame, JInternalFrame y JDialog. Instruye al lector sobre cómo agregar barras de menú, elementos de menú y acciones de eventos para mostrar u ocultar ventanas internas según la selección del menú. También explica cómo mostrar diálogos modales utilizando JDialog.
Este documento presenta un programa en Java que crea un marco con dos botones, uno simple con texto y otro con iconos. Cuando se presiona un botón, aparece un mensaje emergente indicando qué botón fue oprimido. El código define una clase MarcoBoton que extiende de JFrame y agrega los botones, e implementa un manejador de eventos para controlar los clicks en los botones.
El documento describe el desarrollo de una práctica en Eclipse para crear un programa de operaciones básicas. El programa permite ingresar dos números, seleccionar una operación (suma, resta, multiplicación o división), y mostrar el resultado. El estudiante creó el programa en Eclipse siguiendo pasos como generar un proyecto Java, agregar formularios, campos de texto e botones, e implementar lógica para cada operación.
El documento describe diferentes tipos de botones en Swing como JButton, JToggleButton y JCheckBox. JToggleButton tiene dos estados, encendido y apagado. JCheckBox representa casillas de verificación. También describe JRadioButton que permite seleccionar solo un botón a la vez, JTabbedPane que encapsula pestañas, y JScrollPane que permite desplazamiento. Finalmente, proporciona ejemplos de prácticas para crear una interfaz gráfica con diferentes opciones de selección y botones que muestran figuras.
Este documento presenta un código Java que crea un marco con dos botones, uno simple con texto y otro con iconos. Cuando se presiona un botón, se muestra un mensaje emergente indicando qué botón fue oprimido. El código utiliza herencia, clases internas y eventos de botón para lograr este comportamiento.
Manuales seminario java-manualdejava-sem 3 - 4Robert Wolf
Este documento describe las Java Foundation Classes (JFC), que incluyen características para construir interfaces gráficas de usuario en Java como Swing. Explica las clases JFrame, JPanel y JButton que son componentes básicos para crear ventanas, paneles y botones. También presenta ejemplos de código para crear aplicaciones gráficas simples con estos componentes.
El documento describe los diferentes tipos de programas en Java, incluyendo aplicaciones, applets y bibliotecas para interfaces gráficas de usuario como AWT y Swing. También describe los componentes básicos para crear interfaces gráficas en Java como ventanas, contenedores, botones y campos de texto, así como la jerarquía de clases de estos componentes.
Este documento presenta dos prácticas de programación con eventos en Java. La primera práctica crea una calculadora simple con botones numéricos y de operación que realizan cálculos básicos al hacer clic. La segunda práctica crea una ventana con botones "Hola" y "Adiós" que actualizan un campo de texto al hacer clic para mostrar los saludos correspondientes. Ambas prácticas ilustran cómo agregar interactividad a interfaces gráficas mediante el uso de eventos de mouse en respuesta a las acciones del usuario.
El documento presenta información sobre diferentes componentes electrónicos como resistores, condensadores, diodos y potenciómetros. También describe circuitos integrados, Arduino, Raspberry Pi y cómo encender y apagar LEDs usando estos dispositivos de forma básica.
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Onboarding new members into an engineering team is not easy on anyone. In a short period of time, the new team member is required to be able to bring professional
Por Victoriya Kalmanovich
El secreto para ser un desarrollador SeniorSoftware Guru
En esta charla platicaremos sobre el “secreto” y el camino para llegar a ser un desarrollador Senior, experiencia, consejos y recomendaciones que en estos 8 años
Por René Sandoval
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
How thick data can improve big data analysis for business:Software Guru
Este documento discute cómo el "thick data" (datos densos) provenientes de la antropología y la semiótica pueden ayudar a mejorar los análisis de big data en el mundo de los negocios. Explica que el thick data proporciona contexto social y significado que es clave para la interpretación de resultados de big data. Presenta dos estudios de caso donde el thick data ayudó a Netflix y a un banco francés a mejorar sus estrategias. Concluye que el big data provee respuestas pero se necesitan enfoques cualitativos para identificar los
CoDi® es la nueva forma de realizar pagos digitales desarrollada por el Banco de México. Por medio de CoDi puedes realizar cobros y pagos desde tu celular, utilizando una cuenta bancaria o de alguna institución financiera, sin comisiones.
Por Cristian Jaramillo
Gestionando la felicidad de los equipos con Management 3.0Software Guru
En las metodologías agiles hablamos de equipos colaborativos, autogestionados y felices. hablamos de lideres serviciales. El management 3.0 nos ayuda a cultivar el mindset correcto, aquel que servirá como el terreno fértil para que la agilidad florezca.
Por Andrea Vélez Cárdenas
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
Hoy por hoy las experiences de usuario pueden ser enriquecidas mediante el uso de Web Components, que son un estándar de la W3C soportado por la mayoría de los navegadores web modernos.
Por Alex Arriaga
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
El documento describe los pasos para convertirse en un desarrollador fullstack, incluyendo el aprendizaje de back end, front end, bases de datos, seguridad, configuración de la pila tecnológica, análisis y diseño de requisitos, y administración de sistemas. Ser fullstack es un camino continuo que requiere constante aprendizaje y actualización de habilidades.
¿Qué significa ser un programador en Bitso?Software Guru
Ser un programador en Bitso significa dominar varios lenguajes de programación como Java, PHP, React y plataformas móviles como iOS y Android, así como herramientas de desarrollo como Jenkins, Docker y Kubernetes. Bitso está buscando programadores talentosos que deseen aplicar a posiciones abiertas y puedan enviar su currículum a jobs@bitso.com.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
Este documento presenta estrategias para mejorar la colaboración entre equipos de desarrollo de clientes y proveedores. Se discuten temas como definir requerimientos de manera clara y completa, priorizar tareas, coordinar el trabajo cuando un proyecto ya está en progreso, y comunicarse de forma efectiva a través de reuniones periódicas y herramientas como chat. El objetivo general es sobrevivir a los desafíos de la colaboración mediante la implementación de mejores prácticas.
Este documento presenta un programa en Java que crea un marco con dos botones, uno simple con texto y otro con iconos. Cuando se presiona un botón, aparece un mensaje emergente indicando qué botón fue oprimido. El código define una clase MarcoBoton que extiende de JFrame y agrega los botones, e implementa un manejador de eventos para controlar los clicks en los botones.
El documento describe el desarrollo de una práctica en Eclipse para crear un programa de operaciones básicas. El programa permite ingresar dos números, seleccionar una operación (suma, resta, multiplicación o división), y mostrar el resultado. El estudiante creó el programa en Eclipse siguiendo pasos como generar un proyecto Java, agregar formularios, campos de texto e botones, e implementar lógica para cada operación.
El documento describe diferentes tipos de botones en Swing como JButton, JToggleButton y JCheckBox. JToggleButton tiene dos estados, encendido y apagado. JCheckBox representa casillas de verificación. También describe JRadioButton que permite seleccionar solo un botón a la vez, JTabbedPane que encapsula pestañas, y JScrollPane que permite desplazamiento. Finalmente, proporciona ejemplos de prácticas para crear una interfaz gráfica con diferentes opciones de selección y botones que muestran figuras.
Este documento presenta un código Java que crea un marco con dos botones, uno simple con texto y otro con iconos. Cuando se presiona un botón, se muestra un mensaje emergente indicando qué botón fue oprimido. El código utiliza herencia, clases internas y eventos de botón para lograr este comportamiento.
Manuales seminario java-manualdejava-sem 3 - 4Robert Wolf
Este documento describe las Java Foundation Classes (JFC), que incluyen características para construir interfaces gráficas de usuario en Java como Swing. Explica las clases JFrame, JPanel y JButton que son componentes básicos para crear ventanas, paneles y botones. También presenta ejemplos de código para crear aplicaciones gráficas simples con estos componentes.
El documento describe los diferentes tipos de programas en Java, incluyendo aplicaciones, applets y bibliotecas para interfaces gráficas de usuario como AWT y Swing. También describe los componentes básicos para crear interfaces gráficas en Java como ventanas, contenedores, botones y campos de texto, así como la jerarquía de clases de estos componentes.
Este documento presenta dos prácticas de programación con eventos en Java. La primera práctica crea una calculadora simple con botones numéricos y de operación que realizan cálculos básicos al hacer clic. La segunda práctica crea una ventana con botones "Hola" y "Adiós" que actualizan un campo de texto al hacer clic para mostrar los saludos correspondientes. Ambas prácticas ilustran cómo agregar interactividad a interfaces gráficas mediante el uso de eventos de mouse en respuesta a las acciones del usuario.
El documento presenta información sobre diferentes componentes electrónicos como resistores, condensadores, diodos y potenciómetros. También describe circuitos integrados, Arduino, Raspberry Pi y cómo encender y apagar LEDs usando estos dispositivos de forma básica.
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Onboarding new members into an engineering team is not easy on anyone. In a short period of time, the new team member is required to be able to bring professional
Por Victoriya Kalmanovich
El secreto para ser un desarrollador SeniorSoftware Guru
En esta charla platicaremos sobre el “secreto” y el camino para llegar a ser un desarrollador Senior, experiencia, consejos y recomendaciones que en estos 8 años
Por René Sandoval
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
How thick data can improve big data analysis for business:Software Guru
Este documento discute cómo el "thick data" (datos densos) provenientes de la antropología y la semiótica pueden ayudar a mejorar los análisis de big data en el mundo de los negocios. Explica que el thick data proporciona contexto social y significado que es clave para la interpretación de resultados de big data. Presenta dos estudios de caso donde el thick data ayudó a Netflix y a un banco francés a mejorar sus estrategias. Concluye que el big data provee respuestas pero se necesitan enfoques cualitativos para identificar los
CoDi® es la nueva forma de realizar pagos digitales desarrollada por el Banco de México. Por medio de CoDi puedes realizar cobros y pagos desde tu celular, utilizando una cuenta bancaria o de alguna institución financiera, sin comisiones.
Por Cristian Jaramillo
Gestionando la felicidad de los equipos con Management 3.0Software Guru
En las metodologías agiles hablamos de equipos colaborativos, autogestionados y felices. hablamos de lideres serviciales. El management 3.0 nos ayuda a cultivar el mindset correcto, aquel que servirá como el terreno fértil para que la agilidad florezca.
Por Andrea Vélez Cárdenas
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
Hoy por hoy las experiences de usuario pueden ser enriquecidas mediante el uso de Web Components, que son un estándar de la W3C soportado por la mayoría de los navegadores web modernos.
Por Alex Arriaga
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
El documento describe los pasos para convertirse en un desarrollador fullstack, incluyendo el aprendizaje de back end, front end, bases de datos, seguridad, configuración de la pila tecnológica, análisis y diseño de requisitos, y administración de sistemas. Ser fullstack es un camino continuo que requiere constante aprendizaje y actualización de habilidades.
¿Qué significa ser un programador en Bitso?Software Guru
Ser un programador en Bitso significa dominar varios lenguajes de programación como Java, PHP, React y plataformas móviles como iOS y Android, así como herramientas de desarrollo como Jenkins, Docker y Kubernetes. Bitso está buscando programadores talentosos que deseen aplicar a posiciones abiertas y puedan enviar su currículum a jobs@bitso.com.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
Este documento presenta estrategias para mejorar la colaboración entre equipos de desarrollo de clientes y proveedores. Se discuten temas como definir requerimientos de manera clara y completa, priorizar tareas, coordinar el trabajo cuando un proyecto ya está en progreso, y comunicarse de forma efectiva a través de reuniones periódicas y herramientas como chat. El objetivo general es sobrevivir a los desafíos de la colaboración mediante la implementación de mejores prácticas.
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
Este documento describe cómo implementar pruebas de integración con Docker en Azure DevOps. Explica los conceptos de pruebas de integración, Docker y Azure DevOps. Luego detalla los pasos para crear una imagen Docker con SQL Server, ejecutar un contenedor Docker para las pruebas y configurar un pipeline en Azure DevOps para compilar la imagen, ejecutar el contenedor y realizar las pruebas de integración.
Así publicamos las apps de Spotify sin stressSoftware Guru
En Spotify tenemos 1600+ ingenieros, trabajando en 280+ squads. Aún a esta escala, hemos logrado adoptar prácticas que nos han permitido acelerar la forma en que desarrollamos nuestro producto. Presentado por Erick Camacho en SG Virtual Conference 2020
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
he measure of the executive, Peter F. Drucker reminds us, is the ability to "get the right things done." This involves having clarity on what are the right things as well as avoiding what is unproductive. Intelligence, creativity, and knowledge may all be wasted if not put to work on the things that matter.
Presentado por Cristina Nistor en SG Virtual Conference 2020
Acciones de comunidades tech en tiempos del Covid19Software Guru
Este documento describe las acciones tomadas por varias comunidades tecnológicas en México para ayudar durante la pandemia de COVID-19, incluyendo el COVID-19 Challenge, COVID3DMX, y el Observatorio de Datos COVID MX. El COVID-19 Challenge fue un concurso para desarrollar soluciones para prevenir y difundir información sobre el virus. COVID3DMX conecta las necesidades médicas con proveedores de equipo médico. Y el Observatorio de Datos COVID MX realiza un seguimiento semanal de las tendencias del virus en México
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
La charla presenta un modelo claro, generado por la ponente, para atender los niveles desde lo operativo a lo estratégico.
Presentado por Gabriela Salinas en SG Virtual Conference
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...AMADO SALVADOR
Descarga el Catálogo General de Tarifas 2024 de Vaillant, líder en tecnología para calefacción, ventilación y energía solar térmica y fotovoltaica. En Amado Salvador, como distribuidor oficial de Vaillant, te ofrecemos una amplia gama de productos de alta calidad y diseño innovador para tus proyectos de climatización y energía.
Descubre nuestra selección de productos Vaillant, incluyendo bombas de calor altamente eficientes, fancoils de última generación, sistemas de ventilación de alto rendimiento y soluciones de energía solar fotovoltaica y térmica para un rendimiento óptimo y sostenible. El catálogo de Vaillant 2024 presenta una variedad de opciones en calderas de condensación que garantizan eficiencia energética y durabilidad.
Con Vaillant, obtienes más que productos de climatización: control avanzado y conectividad para una gestión inteligente del sistema, acumuladores de agua caliente de gran capacidad y sistemas de aire acondicionado para un confort total. Confía en la fiabilidad de Amado Salvador como distribuidor oficial de Vaillant, y en la resistencia de los productos Vaillant, respaldados por años de experiencia e innovación en el sector.
En Amado Salvador, distribuidor oficial de Vaillant en Valencia, no solo proporcionamos productos de calidad, sino también servicios especializados para profesionales, asegurando que tus proyectos cuenten con el mejor soporte técnico y asesoramiento. Descarga nuestro catálogo y descubre por qué Vaillant es la elección preferida para proyectos de climatización y energía en Amado Salvador.
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
para programadores y desarrolladores de inteligencia artificial y machine learning, como se automatiza una cadena de valor o cadena de valor gracias a la teoría por Manuel Diaz @manuelmakemoney
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)codesiret
Los protocolos son conjuntos de
normas para formatos de mensaje y
procedimientos que permiten a las
máquinas y los programas de aplicación
intercambiar información.
19. Expresiones Lambda
Bloque de código
(String s) > {System.out.println(s);};
(String s) > System.out.println(s);
Se pueden omitir
las llaves en
ciertos casos
45. Interfaces funcionales predefinidas en Java 8
●
java.util.function
–
Consumer<T> argumento tipo T y no retorna ningún
resultado
–
Function<T, R> argumento tipo T y retorna un
resultado tipo R
–
Supplier<T> sin argumentos y retorna un
resultado tipo T
–
Predicate<T> argumento tipo T y retorna un
resultado tipo boolean
47. Métodos de extensión virtuales
●
Método forEach de la interfaz Iterable
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
48. Métodos de extensión virtuales
●
Método forEach de la interfaz Iterable
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
Método
default
49. Métodos de extensión virtuales
●
Método forEach de la interfaz Iterable
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
Consumer es una
}
Interfaz funcional
57. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = s > s >= 50;
Predicate<Integer> sm7 = s > s <= 70;
long b = numeros.stream().filter(sm5.and(sm70)).count();
System.out.println("Resultado: " + b);
58. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Lista con cien
numeros entre
0 y 100
Predicate<Integer> sm5 = s > s >= 50;
Predicate<Integer> sm7 = s > s <= 70;
long b = numeros.stream().filter(sm5.and(sm70)).count();
System.out.println("Resultado: " + b);
59. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = s > s >= 50;
Predicate<Integer> sm7 = s > s <= 70;
long b = numeros.stream().filter(sm5.and(sm70)).count();
System.out.println("Resultado: " + b);
Obtenemos el
Stream
60. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = s > s >= 50;
Predicate<Integer> sm7 = s > s <= 70;
long b = numeros.stream().filter(sm5.and(sm70)).count();
System.out.println("Resultado: " + b);
filter() recibe un
Predicate como
parámetro
61. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = i > i >= 50;
Predicate<Integer> sm7 = i > i < 70;
Creamos dos Predicates
utilizando expresiones lambda
long b = numeros.stream().filter(sm5.and(sm70)).count();
System.out.println("Resultado: " + b);
filter() recibe un
Predicate como
parámetro
62. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = i > i >= 50;
Predicate<Integer> sm7 = i > i < 70;
long b = numeros.stream().filter(sm5.and(sm7)).count();
System.out.println("Resultado: " + b);
Utilizamos el método default
and() de Predicate
63. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = i > i >= 50;
Predicate<Integer> sm7 = i > i < 70;
long b = numeros.stream().filter(sm5.and(sm7)).count();
System.out.println("Resultado: " + b);
Contamos el número
de elementos
64. Streams
●
Si tenemos una lista con cien numeros entre 0 y 100, y queremos obtener la
cantidad de números que sean mayores o iguales a 50 y menores a 70, podemos
hacerlo de la siguiente forma usando Streams y expresiones lambda:
List<Integer> numeros = new ArrayList<>();
Random rnd = new Random();
for (int i = 0; i < 100; i++) {
numeros.add(rnd.nextInt(100));
}
Predicate<Integer> sm5 = i > i >= 50;
Predicate<Integer> sm7 = i > i < 70;
long b = numeros.stream().filter(sm5.and(sm7)).count();
System.out.println("Resultado: " + b);
Mostrar el resultado