Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Interfaces Funcionales, Diapositivas de Programación Java

Aquí tienes una descripción con ideas positivas sobre las Interfaces Funcionales en Java: Las interfaces funcionales son un pilar fundamental de la programación moderna en Java, ya que permiten escribir código más claro, expresivo y conciso. Su principal ventaja es que facilitan el uso de la programación funcional, haciendo que las operaciones sean más legibles y fáciles de mantener. Gracias a que contienen un solo método abstracto, las interfaces funcionales permiten el uso de expresiones lambda, lo que reduce código repetitivo y mejora la productividad del programador. Esto hace que los programas sean más elegantes y menos propensos a errores. Además, fomentan una mejor organización del código, separando el qué se hace del cómo se hace, lo que incrementa la flexibilidad y reutilización. Son especialmente útiles para trabajar con Streams, eventos, validaciones y operaciones dinámicas.

Tipo: Diapositivas

2024/2025

Subido el 16/01/2026

alejandra-torres-58
alejandra-torres-58 🇪🇨

1 documento

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Interfaces
Funcionales
Streams
Grupo Nro. 2
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga Interfaces Funcionales y más Diapositivas en PDF de Programación Java solo en Docsity!

Interfaces

Funcionales

Streams

Grupo Nro. 2

¿Qué son los Strems en Java?

Introducidos en Java 8.

Son una secuencia de datos.

Permiten procesar datos de forma funcional (filtrar, transformar, contar…)

No almacenan datos, solo los procesan

“Un stream es un flujo de datos, no una lista ni colección.”

Un stream necesita una fuente de donde tomar los datos:

Colecciones (list.stream()). Arrays (Arrays.stream()). Valores directos (Stream.of()). Streams infinitos (Stream.iterate()).

Fuente de datos

Ejemplo:

List nombres = List.of("Ana", "Luis", "Pedro");

nombres.stream();

Envolviendo la fuente

El stream no copia los datos, solo los “envuelve”.

Toma los datos de la fuente cuando es necesario.

La fuente no cambia.

Analogía: Como una cinta transportadora que procesa productos sin guardarlos.

Operaciones de Stream

Operaciones intermedias

Transforman el stream y devuelven otro stream Ejemplos: filter(), map(), sorted()

Operaciones terminales

Generan el resultado final Ejemplos: forEach(), collect(), count()

Sin operación terminal, el stream no se ejecuta.

Evaluación perezosa

Las operaciones no se ejecutan inmediatamente.

Se ejecutan solo al llamar a una operación terminal.

Mejora el rendimiento.

Ejemplo:

list.stream().filter(x -> x > 5);

No hace nada hasta que se use forEach() o collect().

Ejemplo

List numeros = List.of(1, 2, 3, 4, 5);

numeros.stream .filter(n -> n % 2 == 0) .map(n -> n * 2) .forEach(System.out::println); Flujo: Tomamos la lista Filtramos números pares Multiplicamos por 2 Mostramos resultados

Ventajas de usar Streams

Código más limpio y fácil de leer.

Menos errores.

Permite operaciones complejas con pocas líneas.

Posibilidad de procesamiento paralelo.

En conclusión...

Streams = procesamiento de datos, no almacenamiento.

Envuelven la fuente de datos.

Son perezosos e inmutables.

Usan programación funcional para hacer el código más simple.

Idea clave: “Un stream es como una tubería que procesa datos paso a paso”.

Bibliografia

[1] Romero, R. (2025, 10 diciembre). Streams en JAVA 8. Streams En JAVA

  1. https://www.codeja.dev/blog/streams-en-java-8/

[2] Benjamin. (2023, 30 enero). Trabajando con 1 millón de registros con Java Stream. Nullpointer Excelsior. https://nullpointer- excelsior.github.io/posts/tranajando-con-1millon-de-registros-con-java- stream/

[3] GeeksforGeeks. (2025, 3 septiembre). Stream in Java. GeeksforGeeks. https://www.geeksforgeeks.org/java/stream-in-java/

Pregunta Nro

¿Cuáles de las siguientes afirmaciones describen correctamente a los Streams en Java?

A. Los streams almacenan los elementos en memoria para su posterior uso.

B. Un stream puede obtener datos de una colección, un arreglo o valores directos.

C. Las operaciones intermedias devuelven otro stream.

D. Un stream modifica directamente la fuente de datos original.

E. Sin una operación terminal, el stream no se ejecuta.

Pregunta Nro

¿Cuáles de las siguientes afirmaciones describen correctamente a los Streams en Java?

A. Los streams almacenan los elementos en memoria para su posterior uso.

B. Un stream puede obtener datos de una colección, un arreglo o valores directos.

C. Las operaciones intermedias devuelven otro stream.

D. Un stream modifica directamente la fuente de datos original.

E. Sin una operación terminal, el stream no se ejecuta.

Pregunta Nro

Según los principios teóricos de los Streams en Java, ¿por qué un stream no realiza ninguna operación si solo se definen operaciones intermedias?

A. Porque las operaciones intermedias almacenan los datos pero no los procesan.

B. Porque los streams funcionan con evaluación perezosa y requieren una operación terminal para ejecutarse.

C. Porque los streams modifican la fuente de datos y esperan confirmación del programador.

D. Porque las operaciones intermedias solo pueden ejecutarse dentro de bucles.

Pregunta Nro

Indique si la afirmación es verdadera (V) o falsa (F):

Un stream en Java es similar a una lista, ya que puede almacenar datos y reutilizarse varias veces.