È uscito il Corso Java Completo — usa il coupon JAVA2026 (fino al 30 giugno)

Esercizi Funzioni Lambda Java

Ecco degli esercizi semplici con soluzione per praticare le basi della creazione ed utilizzo delle funzioni lambda in Java.

Esercizio 1

Sommare due numeri utilizzando un' espressione lambda:
public class SommaNumeriLambda {
    public static void main(String[] args) {
        Calcolatore calcolatore = (a, b) -> a + b;

        int risultato = calcolatore.calcola(5, 3);

        System.out.println("La somma è: " + risultato);
    }

    interface Calcolatore {
        int calcola(int a, int b);
    }
}

Esercizio 2

Verificare se una parola è lunga più di un certo numero di caratteri utilizzando un' espressione lambda:
public class ParolaLungaLambda {
    public static void main(String[] args) {
        VerificatoreParola verificatore = (parola, lunghezza) -> parola.length() > lunghezza;

        String parola = "esercizio";
        int lunghezzaMinima = 5;

        boolean isLunga = verificatore.verifica(parola, lunghezzaMinima);

        if (isLunga) {
            System.out.println("La parola è lunga più di " + lunghezzaMinima + " caratteri.");
        } else {
            System.out.println("La parola non è lunga più di " + lunghezzaMinima + " caratteri.");
        }
    }

    interface VerificatoreParola {
        boolean verifica(String parola, int lunghezza);
    }
}

Esercizio 3

Calcolare l'area di un cerchio utilizzando un' espressione lambda:
public class CalcolaAreaCerchioLambda {
    public static void main(String[] args) {
        CalcolatoreArea calcolatore = raggio -> Math.PI * raggio * raggio;

        double raggio = 2.5;

        double area = calcolatore.calcola(raggio);

        System.out.println("L'area del cerchio è: " + area);
    }

    interface CalcolatoreArea {
        double calcola(double raggio);
    }
}

Esercizio 4

Verificare se un numero è positivo utilizzando un' espressione lambda:
public class NumeroPositivoLambda {
    public static void main(String[] args) {
        VerificatoreNumero verificatore = numero -> numero > 0;

        int numero = 7;

        boolean isPositivo = verificatore.verifica(numero);

        if (isPositivo) {
            System.out.println("Il numero è positivo.");
        } else {
            System.out.println("Il numero non è positivo.");
        }
    }

    interface VerificatoreNumero {
        boolean verifica(int numero);
    }
}

Esercizio 5

Concatenare due stringhe utilizzando un' espressione lambda:
public class ConcatenaStringheLambda {
    public static void main(String[] args) {
        ConcatenatoreStringhe concatenatore = (s1, s2) -> s1 + s2;

        String stringa1 = "Ciao";
        String stringa2 = "Mondo!";

        String risultato = concatenatore.concatena(stringa1, stringa2);

        System.out.println("Risultato: " + risultato);
    }

    interface ConcatenatoreStringhe {
        String concatena(String s1, String s2);
    }
}

Esercizio 6

Verificare se un numero è pari utilizzando un' espressione lambda:
public class NumeroPariLambda {
    public static void main(String[] args) {
        VerificatoreNumero verificatore = numero -> numero % 2 == 0;

        int numero = 6;

        boolean isPari = verificatore.verifica(numero);

        if (isPari) {
            System.out.println("Il numero è pari.");
        } else {
            System.out.println("Il numero non è pari.");
        }
    }

    interface VerificatoreNumero {
        boolean verifica(int numero);
    }
}

Esercizio 7

Calcolare la somma di una lista di numeri utilizzando un' espressione lambda:
import java.util.ArrayList;
import java.util.List;

public class SommaListaNumeriLambda {
    public static void main(String[] args) {
        List<Integer> numeri = new ArrayList<>();
        numeri.add(5);
        numeri.add(3);
        numeri.add(8);
        numeri.add(2);

        Sommatore sommatore = lista -> {
            int somma = 0;
            for (int numero : lista) {
                somma += numero;
            }
            return somma;
        };

        int risultato = sommatore.somma(numeri);

        System.out.println("La somma è: " + risultato);
    }

    interface Sommatore {
        int somma(List<Integer> lista);
    }
}

Esercizio 8

Verificare se una parola è palindroma utilizzando un' espressione lambda:
public class ParolaPalindromaLambda {
    public static void main(String[] args) {
        VerificatoreParola verificatore = parola -> {
            String parolaInvertita = "";

            for (int i = parola.length() - 1; i >= 0; i--) {
                parolaInvertita += parola.charAt(i);
            }

            return parola.equalsIgnoreCase(parolaInvertita);
        };

        String parola = "radar";

        boolean isPalindroma = verificatore.verifica(parola);

        if (isPalindroma) {
            System.out.println("La parola è palindroma.");
        } else {
            System.out.println("La parola non è palindroma.");
        }
    }

    interface VerificatoreParola {
        boolean verifica(String parola);
    }
}

Esercizio 9

Calcolare la potenza di un numero utilizzando un' espressione lambda:
public class PotenzaLambda {
    public static void main(String[] args) {
        CalcolatorePotenza calcolatore = (base, esponente) -> {
            int risultato = 1;
            for (int i = 0; i < esponente; i++) {
                risultato *= base;
            }
            return risultato;
        };

        int base = 2;
        int esponente = 5;

        int potenza = calcolatore.calcola(base, esponente);

        System.out.println(base + " elevato a " + esponente + " è: " + potenza);
    }

    interface CalcolatorePotenza {
        int calcola(int base, int esponente);
    }
}

Esercizio 10

Calcolare la media di una lista di numeri utilizzando un' espressione lambda:
import java.util.ArrayList;
import java.util.List;

public class MediaListaNumeriLambda {
    public static void main(String[] args) {
        List<Integer> numeri = new ArrayList<>();
        numeri.add(5);
        numeri.add(3);
        numeri.add(8);
        numeri.add(2);

        CalcolatoreMedia calcolatore = lista -> {
            int somma = 0;
            for (int numero : lista) {
                somma += numero;
            }
            return (double) somma / lista.size();
        };

        double media = calcolatore.calcola(numeri);

        System.out.println("La media è: " + media);
    }

    interface CalcolatoreMedia {
        double calcola(List<Integer> lista);
    }
}