Rumah > Java > javaTutorial > teks badan

Apakah Fungsi Lambda dalam Java dan Contoh.

Linda Hamilton
Lepaskan: 2024-09-20 06:41:31
asal
331 orang telah melayarinya

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
Salin selepas log masuk

Atau, jika anda mempunyai berbilang pernyataan:

(parameters) -> {
    // multiple statements
}
Salin selepas log masuk

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();
    }
}
Salin selepas log masuk

Output

Running in a thread!
Running in a thread with Lambda!
Salin selepas log masuk

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));
    }
}
Salin selepas log masuk

Output

Alice
Jane
John
Paul
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk

Output

4
16
36
64
100
Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan