07 Programación Funcional y Lambdas Flashcards
¿Qué es la programación funcional en Java?
Un paradigma que trata funciones como ciudadanos de primera clase.
¿Qué es una expresión lambda en Java?
Una función anónima que puede usarse como argumento o valor de retorno.
¿Cuál es la sintaxis básica de una lambda?
(parametros) -> {cuerpo de la función}
.
¿Qué interfaces funcionales existen en Java?
Function
, Consumer
, Supplier
, Predicate
, entre otras.
¿Qué es una FunctionalInterface
?
Una interfaz con un único método abstracto, usada en programación funcional.
¿Qué hace Predicate<T>
?
Representa una función booleana con un parámetro.
¿Qué hace Function<T, R>
?
Representa una función que recibe un argumento y devuelve un resultado.
¿Qué hace Consumer<T>
?
Representa una operación que acepta un argumento pero no devuelve resultado.
¿Qué hace Supplier<T>
?
Provee un valor sin tomar argumentos.
¿Qué hace BiFunction<T, U, R>
?
Representa una función que toma dos argumentos y devuelve un resultado.
¿Qué es Method Reference
en Java?
Una forma de referenciar métodos existentes con ::
.
¿Cuál es la diferencia entre lambda
y method reference
?
Las lambda
definen funciones inline; los method reference
reutilizan métodos existentes.
¿Qué hace Stream API
?
Procesa colecciones de datos de manera funcional.
¿Qué hace map()
en un Stream
?
Transforma cada elemento de la secuencia.
¿Qué hace filter()
en un Stream
?
Filtra elementos según una condición.
¿Qué hace reduce()
en un Stream
?
Combina elementos en un solo resultado.
¿Qué hace collect()
en un Stream
?
Convierte un Stream
en una colección o estructura de datos.
¿Qué diferencia hay entre forEach()
y map()
?
forEach()
itera sin modificar, map()
transforma y devuelve un nuevo Stream
.
¿Qué es Optional
en Java?
Una clase contenedora que evita NullPointerException
.
¿Cómo manejar valores vacíos con Optional
?
Usando ifPresent()
, orElse()
, orElseGet()
o orElseThrow()
.