Java Lambdas: Función BiFunction

Breve explicación

La función BiFunction<T, U, R> es una interfaz funcional en Java que acepta dos argumentos de tipo T y U, y devuelve un resultado de tipo R. Se utiliza cuando necesitamos procesar dos valores y obtener un resultado. El método funcional de BiFunction es apply(T t, U u).

Ejemplo 1: Versión completa del cuerpo de la función Lambda
Java
package org.example.tinajero;

import java.util.function.BiFunction;

public class LambdaBiFunctionExample {

    public static void main(String[] args) {
    	
        /*
         * 🛠️ BiFunction
         * 💡 Recibe dos valores de tipo T y U, y retorna un valor de tipo R.
         */

        // Creamos una BiFunction que concatena dos cadenas
        BiFunction<String, String, String> concatenateStrings = (s1, s2) -> {
            // Cuerpo completo: retorna la concatenación de ambas cadenas
            return s1 + " " + s2;
        };

        // Usamos la BiFunction para concatenar "Hola" y "Mundo"
        System.out.println("Resultado de concatenación: " + concatenateStrings.apply("Hola", "Mundo"));

        // Creamos otra BiFunction que suma dos números enteros
        BiFunction<Integer, Integer, Integer> addNumbers = (n1, n2) -> {
            // Suma de dos enteros
            return n1 + n2;
        };

        // Aplicamos la BiFunction para sumar 10 y 20
        System.out.println("Suma de 10 y 20: " + addNumbers.apply(10, 20));
        
    }
    
}

Ejemplo 2: Reducción de la expresión Lambda
Java
package org.example.tinajero;

import java.util.function.BiFunction;

public class LambdaBiFunctionExampleSimplified {

    public static void main(String[] args) {
    	
        /*
         * 🛠️ BiFunction
         * 💡 Recibe dos valores de tipo T y U, y retorna un valor de tipo R.
         */

        // Versión simplificada de la BiFunction que concatena dos cadenas
        BiFunction<String, String, String> concatenateStrings = (s1, s2) -> s1 + " " + s2;

        // Ejecutamos la BiFunction para concatenar "Java" y "Lambda"
        System.out.println("Resultado de concatenación: " + concatenateStrings.apply("Java", "Lambda"));

        // Versión simplificada de la BiFunction que suma dos números
        BiFunction<Integer, Integer, Integer> addNumbers = (n1, n2) -> n1 + n2;

        // Aplicamos la BiFunction para sumar 15 y 25
        System.out.println("Suma de 15 y 25: " + addNumbers.apply(15, 25));
        
    }
    
}