Heim > Java > javaLernprogramm > Hauptteil

Was ist eine Lambda-Funktion in Java und Beispiel.

Linda Hamilton
Freigeben: 2024-09-20 06:41:31
Original
320 Leute haben es durchsucht

What Is a Lambda Function in Java and Example.

1. Lambda-Funktionen verstehen

Lambda-Funktionen oder Lambda-Ausdrücke sind eine Möglichkeit, eine klare und prägnante Syntax zum Schreiben anonymer Methoden in Java bereitzustellen. Sie ermöglichen es Ihnen, Implementierungen funktionaler Schnittstellen lesbarer und ausdrucksstärker zu schreiben.

1.1 Was ist eine Lambda-Funktion?

Eine Lambda-Funktion in Java ist ein kurzer Codeblock, der Parameter aufnimmt und einen Wert zurückgibt. Es handelt sich im Wesentlichen um eine Methode ohne Namen, mit der Sie Funktionen als Argument an Methoden übergeben oder als Variable speichern können.

Syntax

Die grundlegende Syntax einer Lambda-Funktion lautet wie folgt:

(parameters) -> expression
Nach dem Login kopieren

Oder, wenn Sie mehrere Aussagen haben:

(parameters) -> {
    // multiple statements
}
Nach dem Login kopieren

1.2 Funktionale Schnittstellen

Um Lambda-Ausdrücke verwenden zu können, benötigen Sie eine funktionale Schnittstelle. Eine funktionale Schnittstelle ist eine Schnittstelle, die genau eine abstrakte Methode besitzt. Beispiele hierfür sind ausführbare, aufrufbare und benutzerdefinierte Schnittstellen mit einer einzigen abstrakten Methode.

1.3 Vorteile von Lambda-Funktionen

  • Prägnanz: Lambda-Ausdrücke tragen dazu bei, Boilerplate-Code zu reduzieren.
  • Lesbarkeit: Sie machen den Code lesbarer und aussagekräftiger.
  • Benutzerfreundlichkeit: Nützlich in Szenarien wie Stream-Vorgängen und Ereignisverarbeitung.

2. Verwendung von Lambda-Funktionen in Java

2.1 Grundlegendes Beispiel

Beginnen wir mit einem einfachen Beispiel einer Lambda-Funktion in Java. Wir verwenden eine ausführbare Schnittstelle, um Folgendes zu demonstrieren:

public class LambdaExample {
    public static void main(String[] args) {
        // Traditional way
        Runnable oldRunnable = new Runnable() {
            @Override
            public void run() {
                System.out.println("Running in a thread!");
            }
        };
        new Thread(oldRunnable).start();

        // Using Lambda Expression
        Runnable lambdaRunnable = () -> System.out.println("Running in a thread with Lambda!");
        new Thread(lambdaRunnable).start();
    }
}
Nach dem Login kopieren

Ausgabe

Running in a thread!
Running in a thread with Lambda!
Nach dem Login kopieren

2.2 Fortgeschrittenes Beispiel: Verwendung von Lambda mit Sammlungen

Lambda-Funktionen sind besonders nützlich bei der Arbeit mit Sammlungen. Hier ist ein Beispiel, das das Sortieren einer Liste von Zeichenfolgen mithilfe von Lambda-Ausdrücken zeigt:

import java.util.Arrays;
import java.util.List;

public class LambdaListExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("John", "Jane", "Paul", "Alice");

        // Using lambda to sort the list
        names.sort((name1, name2) -> name1.compareTo(name2));

        // Printing sorted names
        names.forEach(name -> System.out.println(name));
    }
}
Nach dem Login kopieren

Ausgabe

Alice
Jane
John
Paul
Nach dem Login kopieren

2.3 Praxisdemo: Filtern mit Streams

Lambda-Ausdrücke glänzen, wenn sie mit Java Streams für Vorgänge wie Filterung und Zuordnung kombiniert werden. So können Sie Lambdas verwenden, um eine Liste von Ganzzahlen zu filtern und zu verarbeiten:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class LambdaStreamExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // Filtering even numbers and squaring them
        List<Integer> squaredEvens = numbers.stream()
            .filter(n -> n % 2 == 0)
            .map(n -> n * n)
            .collect(Collectors.toList());

        // Printing the result
        squaredEvens.forEach(System.out::println);
    }
}
Nach dem Login kopieren

Ausgabe

4
16
36
64
100
Nach dem Login kopieren

3. Fazit

Lambda-Funktionen in Java bieten eine kompaktere und ausdrucksstärkere Möglichkeit, anonyme Methoden und funktionale Schnittstellen zu handhaben. Sie können Ihren Code erheblich vereinfachen und seine Lesbarkeit verbessern, insbesondere wenn es um Sammlungen und Stream-Vorgänge geht.

Wenn Sie Fragen haben oder weitere Erläuterungen benötigen, können Sie unten gerne einen Kommentar hinterlassen!

Weitere Beiträge finden Sie unter: Was ist eine Lambda-Funktion in Java und Beispiele.

Das obige ist der detaillierte Inhalt vonWas ist eine Lambda-Funktion in Java und Beispiel.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!