Zum Hauptinhalt springen
Veröffentlicht am

Lambda in Java

Teilen:

Einführung

Lambda-Ausdrücke, die in Java 8 eingeführt wurden, haben die Art und Weise revolutioniert, wie wir Code in Java schreiben und verstehen, und machen ihn prägnanter, lesbarer und ausdrucksstärker.

Was ist Lambda?

Lambda ist ein Konzept, das es ermöglicht, eine Instanz eines funktionalen Interfaces auf eine kürzere und vereinfachte Weise darzustellen. Im Wesentlichen ist es eine Möglichkeit, anonyme Funktionen zu schreiben: Funktionen ohne Namen.

Vorteile von Lambda

  1. Prägnanz: Der Code wird schlanker und sauberer.
  2. Lesbarkeit: Es erleichtert das Lesen und Verstehen des Codes.
  3. Flexibilität: Es kann zusammen mit neuen Funktionen aus Java 8 verwendet werden, wie z. B. Streams.

Verwendungsbeispiel

package com.caffeinealgorithm.programaremjava;

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

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

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

    // personenAuflisten();

    personen.forEach((person) -> System.out.printf("Name: %s\n", person));
  }

  private void personenAuflisten() {
    for (String person : personen)
      System.out.printf("Name: %s\n", person);
  }
}

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

Wie Funktioniert Es?

Im oben gezeigten Beispiel sehen wir den Einsatz von Lambda, um eine Liste zu durchlaufen und jedes Element auszugeben. Hier akzeptiert die Methode forEach einen Lambda-Ausdruck, der definiert, was mit jedem Element der Liste geschehen soll.

Weitere Beispiele

  1. Eine Liste sortieren:
List<Integer> zahlen = Arrays.asList(5, 2, 8, 3, 1);
zahlen.sort((n1, n2) -> n1.compareTo(n2));
System.out.println(zahlen);
  1. Einen Thread erstellen:
new Thread(() -> System.out.println("Thread wird mit Lambda ausgeführt!")).start();
  1. Operationen mit Streams:
long anzahl = personen.stream()
                .filter(person -> person.startsWith("N"))
                .count();
System.out.println("Anzahl der Personen, deren Name mit dem Buchstaben N beginnt: " + anzahl);

Fazit

Lambda-Ausdrücke sind eine leistungsstarke Ergänzung der Java-Sprache und ermöglichen es Entwicklern, Code effizienter und ausdrucksstärker zu schreiben. Darüber hinaus sind Lambdas entscheidend, um die neuen Java-Funktionen voll auszuschöpfen, insbesondere jene, die in Java 8 eingeführt wurden, wie etwa Streams.

Happy coding!