Rumah Java javaTutorial Bagaimana untuk memudahkan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java?

Bagaimana untuk memudahkan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java?

Aug 03, 2023 pm 11:21 PM
ungkapan lambda (lambda) pengaturcaraan berfungsi bahasa java (java)

Bagaimana untuk memudahkan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java?

Dalam versi Java yang lalu, pengaturcaraan berfungsi adalah tugas yang agak membosankan. Walau bagaimanapun, sejak versi Java 8 memperkenalkan ungkapan Lambda, pengaturcaraan berfungsi menjadi lebih mudah dan lebih mudah di Java. Ungkapan Lambda membolehkan kami menulis fungsi tanpa nama dengan cara yang lebih ringkas, sekali gus mengurangkan kerumitan kod. Artikel ini akan memperkenalkan cara menggunakan ungkapan lambda untuk memudahkan pengaturcaraan berfungsi dan menggambarkannya dengan contoh kod.

  1. Sintaks asas ungkapan Lambda
    Sintaks asas ungkapan Lambda adalah seperti berikut:

(parameter1, parameter2, ..., parameterN) -> {

// 函数体
// 可以是一条简单的表达式
// 或者是一系列语句块
Salin selepas log masuk

}

, senarai parameter

parameter2 , ..., parameterN) adalah pilihan Jika terdapat parameter, ia perlu disertakan dalam kurungan. Anak panah -> digunakan untuk memisahkan parameter dan badan fungsi, dan bahagian kiri anak panah ialah senarai parameter dan bahagian kanan ialah badan fungsi. Badan fungsi boleh menjadi ungkapan ringkas atau satu siri blok pernyataan.

  1. Gunakan ungkapan Lambda untuk memudahkan antara muka berfungsi
    Antara muka berfungsi merujuk kepada antara muka yang mengandungi hanya satu kaedah abstrak. Antara muka fungsi ialah asas ungkapan Lambda hanya boleh digunakan dalam antara muka berfungsi. Java telah menentukan beberapa antara muka fungsi biasa, seperti Pengguna, Pembekal, Fungsi, dll.

Ambil antara muka fungsi Pengguna sebagai contoh Antara muka Pengguna hanya menerima satu kaedah abstrak, yang menerima parameter dan mengembalikan tidak sah. Sebelum Java 8, kami perlu melaksanakan antara muka Pengguna dengan mencipta kelas dalaman tanpa nama, contohnya:

List<Integer> nombor = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(new Pengguna< Integer>() {

@Override
public void accept(Integer number) {
    System.out.println(number);
}
Salin selepas log masuk

});

Menggunakan ungkapan Lambda, kita boleh memudahkan kod di atas kepada:

Senaraikan<Integer>
numbers.forEach(number -> System.out.println(number));

Dengan ungkapan Lambda, kita boleh terus menghantar fungsi sebagai parameter kepada kaedah forEach tanpa mentakrifkan kelas dalaman tanpa nama secara eksplisit.

  1. Pengaturcaraan Fungsian dengan Ungkapan Lambda
    Ekspresi Lambda amat berguna dalam pengaturcaraan berfungsi. Dalam pengaturcaraan berfungsi, kita sering menggunakan fungsi peringkat tinggi, iaitu fungsi yang menerima atau mengembalikan fungsi.

Berikut ialah contoh kod untuk pengaturcaraan berfungsi menggunakan ungkapan Lambda:

int[] nombor = {1, 2, 3, 4, 5}; kod di atas, kami menggunakan ungkapan Lambda sebagai parameter untuk dihantar ke kaedah pengurangan. Ungkapan Lambda (a, b) -> a + b melaksanakan operasi binari dan mengira hasil tambah dua nombor. Kaedah pengurangan mengumpul dan menjumlahkan elemen dalam tatasusunan, dengan nilai awal ialah 0.

Rujukan Kaedah untuk Ungkapan Lambda

Selain ungkapan Lambda, kami juga boleh menggunakan rujukan kaedah untuk memudahkan pengaturcaraan berfungsi. Rujukan kaedah membolehkan kami merujuk secara langsung kaedah atau pembina sedia ada dan bukannya mentakrifkan semula ungkapan Lambda.

  1. Berikut ialah contoh kod menggunakan rujukan kaedah:
List<String> strings = Arrays.asList("Hello", "Lambda", "Expression");

strings.forEach(System.out::println) ;

Dalam kod di atas, kami melaksanakan traversal dan output senarai rentetan dengan merujuk kaedah println System.out.

Ringkasan:

Pengenalan ungkapan Lambda sangat memudahkan pelaksanaan pengaturcaraan berfungsi dalam Java. Kita boleh menggunakan ungkapan Lambda untuk memudahkan takrifan kelas dalaman tanpa nama, dengan itu mengurangkan jumlah kod dan kerumitan. Ungkapan Lambda juga membolehkan kami menggunakan fungsi tertib tinggi dan rujukan kaedah untuk mencapai gaya pengaturcaraan yang lebih ringkas dan fleksibel. Dengan mempelajari dan menggunakan ungkapan Lambda, kami boleh melaksanakan pengaturcaraan berfungsi dalam Java dengan lebih mudah.

Kod rujukan adalah seperti berikut:

            .reduce(0, (a, b) -&gt; a + b);
Salin selepas log masuk
Saya berharap pengenalan dan contoh kod artikel ini dapat membantu pembaca lebih memahami dan menggunakan ungkapan Lambda dalam Java, dengan itu memudahkan pelaksanaan pengaturcaraan berfungsi.

Atas ialah kandungan terperinci Bagaimana untuk memudahkan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte Mar 07, 2025 pm 06:09 PM

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka? Mar 17, 2025 pm 05:35 PM

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan? Mar 17, 2025 pm 05:46 PM

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru Mar 07, 2025 pm 06:12 PM

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik Iceberg: Masa Depan Jadual Data Tasik Mar 07, 2025 pm 06:31 PM

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java? Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java? Mar 11, 2025 pm 05:51 PM

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java?

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas? Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas? Mar 17, 2025 pm 05:43 PM

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu? Mar 17, 2025 pm 05:44 PM

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

See all articles