Aller au contenu principal
Publié le

Lambda en Java

Partager :

Introduction

Les expressions lambda, introduites dans Java 8, ont révolutionné la façon dont nous écrivons et comprenons le code en Java, le rendant plus concis, lisible et expressif.

Qu'est-ce que le Lambda ?

Le Lambda est un concept qui permet de représenter une instance d'une interface fonctionnelle de manière plus courte et simplifiée. En gros, c'est une façon d'écrire des fonctions anonymes : des fonctions sans nom.

Avantages du Lambda

  1. Concision : Le code devient plus léger et plus propre.
  2. Lisibilité : Il facilite la lecture et la compréhension du code.
  3. Flexibilité : Il peut être utilisé conjointement avec les nouvelles fonctionnalités de Java 8, comme les Streams.

Exemple d'Utilisation

package com.caffeinealgorithm.programaremjava;

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

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

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

    // listerPersonnes();

    personnes.forEach((personne) -> System.out.printf("Nom : %s\n", personne));
  }

  private void listerPersonnes() {
    for (String personne : personnes)
      System.out.printf("Nom : %s\n", personne);
  }
}

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

Comment Ça Fonctionne ?

Dans l'exemple présenté précédemment, nous voyons l'utilisation du lambda pour parcourir une liste et afficher chaque élément. Ici, la méthode forEach accepte une expression lambda, qui définit ce qu'il faut faire avec chaque élément de la liste.

Plus d'Exemples

  1. Trier une liste :
List<Integer> nombres = Arrays.asList(5, 2, 8, 3, 1);
nombres.sort((n1, n2) -> n1.compareTo(n2));
System.out.println(nombres);
  1. Créer un thread :
new Thread(() -> System.out.println("Thread en cours d'exécution avec Lambda !")).start();
  1. Opérations avec les Streams :
long quantite = personnes.stream()
                .filter(personne -> personne.startsWith("N"))
                .count();
System.out.println("Nombre de personnes dont le nom commence par la lettre N : " + quantite);

Conclusion

Les expressions lambda sont un ajout puissant au langage Java, permettant aux développeurs d'écrire du code de manière plus efficace et expressive. De plus, les lambdas sont essentiels pour tirer pleinement parti des nouvelles fonctionnalités de Java, en particulier celles introduites dans Java 8, comme les Streams.

Happy coding!