Rumah  >  Artikel  >  Java  >  Cara menggunakan fungsi Lambda dalam Java untuk pengaturcaraan berfungsi

Cara menggunakan fungsi Lambda dalam Java untuk pengaturcaraan berfungsi

WBOY
WBOYasal
2023-06-26 16:04:37873semak imbas

Pengaturcaraan fungsional ialah paradigma pengaturcaraan yang sangat popular yang menekankan penggunaan dan gabungan fungsi dan bukannya pernyataan dan arahan dalam pengaturcaraan imperatif tradisional. Fungsi Lambda ditambah dalam Java 8 menjadikan pengaturcaraan berfungsi dalam Java lebih mudah. Dalam artikel ini, kami akan membincangkan asas fungsi Lambda dan cara menggunakannya untuk pengaturcaraan berfungsi.

  1. Definisi fungsi Lambda
    Fungsi Lambda ialah kaedah yang tidak diisytiharkan yang boleh menerima parameter dan mengembalikan nilai dan boleh dihantar seperti objek. Format definisi fungsi Lambda ialah: (parameter) -> Antaranya, parameter ialah satu set senarai parameter, dan ungkapan atau pernyataan mewakili kod yang akan dilaksanakan oleh fungsi Lambda.

Sebagai contoh, berikut ialah definisi fungsi Lambda yang mudah:

(int a, int b) -> a + b

Fungsi Lambda ini menerima dua parameter integer a dan b serta mengembalikan jumlahnya.

  1. Jenis fungsi Lambda
    Jenis fungsi Lambda terdiri daripada jenis parameter dan jenis pulangan. Di Java, jenis fungsi ini diwakili sebagai jenis antara muka, yang hanya mempunyai satu kaedah. Contohnya, berikut ialah antara muka berfungsi yang mengira jumlah dua integer:

@FunctionalInterface
interface Sum {
int sum(int a, int b);
}

Antara muka ini hanya mempunyai satu kaedah, sum() , nilai pulangannya ialah integer dan menerima dua parameter integer.

  1. Aplikasi fungsi Lambda
    Di Jawa, fungsi Lambda sering digunakan dalam operasi pengumpulan dan strim, seperti penapisan, pemetaan, pengurangan, dsb. Berikut ialah beberapa senario penggunaan biasa bagi fungsi Lambda:

3.1. Penapis (Penapis)
Operasi penapisan dalam koleksi boleh dilaksanakan menggunakan fungsi Lambda. Contohnya:

Senaraikan nombor = Arrays.asList(1, 2, 3, 4, 5); 0 ).collect(Collectors.toList());

Dalam contoh ini, kami menggunakan kaedah stream() untuk menukar Senarai kepada objek Stream, kemudian gunakan kaedah penapis() untuk menapis elemen, dan akhirnya menggunakan collect() kaedah untuk menukar hasil Tukar ke objek Senarai.

3.2. Map

Operasi pemetaan dalam koleksi boleh dilaksanakan menggunakan fungsi Lambda. Contohnya:

Senarai nama = Arrays.asList("John", "Mary", "James", "David"); length ).collect(Collectors.toList());


Dalam contoh ini, kami menggunakan kaedah stream() untuk menukar Senarai menjadi objek Stream, kemudian gunakan kaedah map() untuk memetakan elemen, dan akhirnya menggunakan collect() kaedah untuk menukar hasil Tukar ke objek Senarai.

3.3. Reduce

Operasi pengurangan dalam koleksi boleh dilaksanakan menggunakan fungsi Lambda. Contohnya:


Senaraikan nombor = Arrays.asList(1, 2, 3, 4, 5); b );

Dalam contoh ini, kami menggunakan kaedah stream() untuk menukar Senarai menjadi objek Stream, kemudian gunakan kaedah reduce() untuk mengurangkan elemen, dan akhirnya mendapatkan jumlahnya.

Kelebihan fungsi Lambda

Kelebihan fungsi Lambda termasuk:

  1. 4.1 Gabungan pengaturcaraan berfungsi dan pengaturcaraan berorientasikan objek
  2. Fungsi Lambda menjadikan integrasi antara pengaturcaraan berfungsi dan pengaturcaraan berorientasikan objek dan boleh menjadi lebih baik. penggunaan ciri pengaturcaraan berorientasikan objek bahasa Java, dan anda juga boleh menggunakan kaedah pengaturcaraan berfungsi untuk gabungan.

4.2 Sangat boleh dibaca dan diselenggara
Fungsi Lambda ialah struktur kod yang ringkas, jelas dan mudah dibaca yang boleh menunjukkan niat dan logik program dengan lebih baik. Fungsi Lambda boleh meningkatkan kebolehselenggaraan dan kebolehbacaan kod apabila berurusan dengan sejumlah besar data.

4.3. Paralelisasi
Fungsi Lambda dalam Stream API dalam Java 8 boleh melaksanakan operasi penyejajaran dengan mudah, yang boleh menggunakan pemproses berbilang teras dengan lebih baik dan meningkatkan prestasi program.

Kesimpulan

Fungsi Lambda ialah ciri yang sangat penting dalam Java 8, yang menjadikan aplikasi pengaturcaraan berfungsi dalam Java lebih lancar, lebih mudah dibaca dan lebih mudah untuk ditulis. Di Java, menggunakan fungsi Lambda untuk pengaturcaraan berfungsi boleh menggunakan kuasa pemprosesan berbilang teras komputer moden dengan lebih baik, dengan itu meningkatkan prestasi program dan kebolehbacaan.

Atas ialah kandungan terperinci Cara menggunakan fungsi Lambda dalam Java untuk pengaturcaraan berfungsi. 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