Java Lambdas: Función BiConsumer

Breve explicación

La función BiConsumer<T, U> es una interfaz funcional en Java que acepta dos argumentos de tipos T y U, y no devuelve ningún resultado. Se utiliza comúnmente para realizar operaciones que necesitan trabajar con dos valores sin devolver nada. El método funcional de BiConsumer es accept(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.BiConsumer;

public class LambdaBiConsumerExample {

    public static void main(String[] args) {
    	
        /*
         * 🛠️ BiConsumer
         * 💡 Recibe dos valores y no retorna nada.
         */

        // Creamos un BiConsumer que recibe un nombre y una edad, e imprime ambos
        BiConsumer<String, Integer> printPersonInfo = (name, age) -> {
            // Cuerpo completo de la función, usando declaraciones explícitas
            System.out.println("Nombre: " + name);
            System.out.println("Edad: " + age);
        };

        // Usamos el BiConsumer para imprimir la información de una persona
        printPersonInfo.accept("Juan", 30);

        // Creamos otro BiConsumer que recibe dos números y muestra su suma
        BiConsumer<Integer, Integer> addAndPrint = (a, b) -> {
            // Imprime la suma de los dos números
            System.out.println("Suma: " + (a + b));
        };

        // Aplicamos el BiConsumer a los números 5 y 10
        addAndPrint.accept(5, 10);
        
    }
    
}

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

import java.util.function.BiConsumer;

public class LambdaBiConsumerExampleSimplified {

    public static void main(String[] args) {
    	
        /*
         * 🛠️ BiConsumer
         * 💡 Recibe dos valores y no retorna nada.
         */

        // Versión simplificada del BiConsumer sin necesidad de tipos explícitos
        BiConsumer<String, Integer> printPersonInfo = (name, age) -> System.out.println("Nombre: " + name + ", Edad: " + age);

        // Ejecutamos el BiConsumer
        printPersonInfo.accept("Ana", 25);

        // Versión simplificada del BiConsumer que suma dos números
        BiConsumer<Integer, Integer> addAndPrint = (a, b) -> System.out.println("Suma: " + (a + b));

        // Aplicamos el BiConsumer a los números 7 y 3
        addAndPrint.accept(7, 3);
        
    }
    
}