Vai al contenuto principale
Pubblicato il

Lambda in Java

Condividi:

Introduzione

Le espressioni lambda, introdotte in Java 8, hanno rivoluzionato il modo in cui scriviamo e comprendiamo il codice in Java, rendendolo più conciso, leggibile ed espressivo.

Cos'è il Lambda?

Il Lambda è un concetto che consente di rappresentare un'istanza di un'interfaccia funzionale in modo più breve e semplificato. In sostanza, è un modo per scrivere funzioni anonime: funzioni senza nome.

Vantaggi del Lambda

  1. Concisione: Il codice diventa più snello e pulito.
  2. Leggibilità: Facilita la lettura e la comprensione del codice.
  3. Flessibilità: Può essere utilizzato insieme alle nuove funzionalità di Java 8, come gli Streams.

Esempio di Utilizzo

package com.caffeinealgorithm.programaremjava;

import java.util.ArrayList;
import java.util.List;

public class Lambda {
  private List<String> persone = new ArrayList<>();

  public void Run() {
    persone.add("Nelson Silva");
    persone.add("Larissa Fernandes");
    persone.add("Pedro Henrique");
    persone.add("Raquel Soares");

    // elencaPersone();

    persone.forEach((persona) -> System.out.printf("Nome: %s\n", persona));
  }

  private void elencaPersone() {
    for (String persona : persone)
      System.out.printf("Nome: %s\n", persona);
  }
}

/*
  Nome: Nelson Silva
  Nome: Larissa Fernandes
  Nome: Pedro Henrique
  Nome: Raquel Soares
*/

Come Funziona?

Nell'esempio presentato in precedenza, vediamo l'utilizzo del lambda per scorrere una lista e stampare ogni elemento. Qui, il metodo forEach accetta un'espressione lambda, che definisce cosa fare con ogni elemento della lista.

Altri Esempi

  1. Ordinare una lista:
List<Integer> numeri = Arrays.asList(5, 2, 8, 3, 1);
numeri.sort((n1, n2) -> n1.compareTo(n2));
System.out.println(numeri);
  1. Creare un thread:
new Thread(() -> System.out.println("Thread in esecuzione con Lambda!")).start();
  1. Operazioni con gli Streams:
long quantita = persone.stream()
                .filter(persona -> persona.startsWith("N"))
                .count();
System.out.println("Numero di persone il cui nome inizia con la lettera N: " + quantita);

Conclusione

Le espressioni lambda sono una potente aggiunta al linguaggio Java, che consente agli sviluppatori di scrivere codice in modo più efficiente ed espressivo. Inoltre, i lambda sono fondamentali per sfruttare al massimo le nuove funzionalità di Java, in particolare quelle introdotte in Java 8, come gli Streams.

Happy coding!