Rumah  >  Artikel  >  Java  >  Apakah Fungsi Lambda dalam Java dan Contoh.

Apakah Fungsi Lambda dalam Java dan Contoh.

Linda Hamilton
Linda Hamiltonasal
2024-09-20 06:41:31332semak imbas

What Is a Lambda Function in Java and Example.

1. Memahami Fungsi Lambda

Fungsi Lambda, atau ungkapan lambda, ialah cara untuk menyediakan sintaks yang jelas dan ringkas untuk menulis kaedah tanpa nama di Jawa. Ia membolehkan anda menulis pelaksanaan antara muka berfungsi dengan cara yang lebih mudah dibaca dan ekspresif.

1.1 Apakah Fungsi Lambda?

Fungsi lambda dalam Java ialah blok kod pendek yang mengambil parameter dan mengembalikan nilai. Ia pada asasnya kaedah tanpa nama, membolehkan anda menghantar fungsi sebagai hujah kepada kaedah atau menyimpannya sebagai pembolehubah.

Sintaks

Sintaks asas fungsi lambda adalah seperti berikut:

(parameters) -> expression

Atau, jika anda mempunyai berbilang pernyataan:

(parameters) -> {
    // multiple statements
}

1.2 Antara Muka Berfungsi

Untuk menggunakan ungkapan lambda, anda memerlukan antara muka berfungsi. Antara muka berfungsi ialah antara muka yang mempunyai satu kaedah abstrak. Contohnya termasuk antara muka Runnable, Callable dan tersuai dengan kaedah abstrak tunggal.

1.3 Faedah Fungsi Lambda

  • Keringkas : Ungkapan Lambda membantu mengurangkan kod boilerplate.
  • Kebolehbacaan : Mereka menjadikan kod lebih mudah dibaca dan ekspresif.
  • Kemudahan Penggunaan : Berguna dalam senario seperti operasi strim dan pengendalian acara.

2. Menggunakan Fungsi Lambda dalam Java

2.1 Contoh Asas

Mari kita mulakan dengan contoh mudah fungsi lambda di Jawa. Kami akan menggunakan antara muka Runnable untuk menunjukkan:

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();
    }
}

Output

Running in a thread!
Running in a thread with Lambda!

2.2 Contoh Lanjutan: Menggunakan Lambda dengan Koleksi

Fungsi Lambda amat berguna apabila bekerja dengan koleksi. Berikut ialah contoh yang menunjukkan pengisihan senarai rentetan menggunakan ungkapan lambda:

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));
    }
}

Output

Alice
Jane
John
Paul

2.3 Demo Praktikal: Menapis dengan Strim

Ekspresi Lambda bersinar apabila digabungkan dengan Java Streams untuk operasi seperti penapisan dan pemetaan. Begini cara anda boleh menggunakan lambdas untuk menapis dan memproses senarai integer:

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);
    }
}

Output

4
16
36
64
100

3. Kesimpulan

Fungsi Lambda di Java menawarkan cara yang lebih padat dan ekspresif untuk mengendalikan kaedah tanpa nama dan antara muka berfungsi. Mereka boleh memudahkan kod anda dan meningkatkan kebolehbacaannya, terutamanya apabila berurusan dengan pengumpulan dan operasi strim.

Jika anda mempunyai sebarang pertanyaan atau memerlukan penjelasan lanjut, sila tinggalkan komen di bawah!

Baca siaran lebih lanjut di : Apakah Fungsi Lambda dalam Java dan Contoh.

Atas ialah kandungan terperinci Apakah Fungsi Lambda dalam Java dan Contoh.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn