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.
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 }
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.
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!
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
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
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!