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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat 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

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap Mar 07, 2025 pm 05:52 PM

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini 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 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

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

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

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

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Cara berkongsi data antara langkah -langkah dalam timun Cara berkongsi data antara langkah -langkah dalam timun Mar 07, 2025 pm 05:55 PM

Artikel ini meneroka kaedah untuk berkongsi data antara langkah -langkah timun, membandingkan konteks senario, pembolehubah global, lulus argumen, dan struktur data. Ia menekankan amalan terbaik untuk mengekalkan, termasuk penggunaan konteks ringkas, deskriptif

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

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan

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

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

See all articles