Rumah > Java > javaTutorial > Bagaimana untuk melaksanakan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java 8

Bagaimana untuk melaksanakan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java 8

王林
Lepaskan: 2023-07-31 22:36:33
asal
1190 orang telah melayarinya

Cara melaksanakan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java 8

Pengenalan:
Pengaturcaraan fungsional ialah paradigma pengaturcaraan yang menganggap proses pengiraan sebagai penukaran antara fungsi, mengelakkan kesan sampingan dan keadaan boleh ubah, menjadikan Kod itu lebih ringkas, modular dan boleh guna semula. Java 8 memperkenalkan ungkapan Lambda, menyediakan pembangun dengan cara yang ringkas dan fleksibel untuk melaksanakan pengaturcaraan berfungsi. Artikel ini akan memperkenalkan cara melaksanakan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java 8 dan menunjukkan penggunaannya melalui contoh kod.

1. Pengetahuan asas tentang ungkapan Lambda
Ungkapan Lambda ialah fungsi tanpa nama, tetapi mempunyai senarai parameter, simbol anak panah dan badan fungsi. Sintaks ungkapan Lambda adalah seperti berikut:
(senarai parameter) -> {lambda body}

Antaranya, senarai parameter boleh menghilangkan jenis, atau menggunakan kurungan kosong untuk menunjukkan tiada parameter; parameter kepada badan fungsi badan fungsi Boleh menjadi ungkapan atau blok kod. Berikut ialah beberapa contoh ungkapan Lambda:

  1. Tiada parameter: () -> System.out.println("Hello, Lambda!"); : (x, y) -> sum);
  2. return sum;
  3. }
  4. 2. Senario aplikasi ungkapan Lambda
  5. Ekspresi Lambda boleh digunakan pada antara muka berfungsi, iaitu antara muka dengan hanya satu kaedah abstrak. Antara muka berfungsi boleh dikenal pasti menggunakan anotasi @FunctionalInterface untuk memastikan bahawa terdapat hanya satu kaedah abstrak. Apabila menggunakan ungkapan Lambda untuk melaksanakan pengaturcaraan berfungsi, kami boleh menggunakan antara muka fungsi yang dipratentukan atau menyesuaikan antara muka berfungsi.

    3 Contoh penggunaan ungkapan Lambda untuk melaksanakan pengaturcaraan berfungsi
    Di bawah kami menggunakan beberapa contoh untuk menunjukkan cara menggunakan ungkapan Lambda untuk melaksanakan pengaturcaraan berfungsi.
  6. Contoh 1: Menggunakan ungkapan Lambda untuk melaksanakan antara muka Pembanding
Antara muka Pembanding digunakan untuk perbandingan antara objek. Sebelum Java 8, kami perlu menentukan kelas yang melaksanakan antara muka Pembanding dan mengatasi kaedah bandingkan. Kini, kita boleh menggunakan ungkapan Lambda untuk melaksanakan antara muka Comparator untuk menjadikan kod lebih ringkas. Berikut ialah contoh menggunakan ungkapan Lambda untuk melaksanakan antara muka Pembanding:

List<String> animals = Arrays.asList("cat", "dog", "elephant", "monkey");
// 使用Lambda表达式实现Comparator接口
Collections.sort(animals, (s1, s2) -> s1.length() - s2.length());
System.out.println(animals);
Salin selepas log masuk

Hasil keluaran: [kucing, anjing, monyet, gajah]

Contoh 2: Menggunakan ungkapan Lambda untuk melaksanakan antara muka Runnable
Antara muka Runnable digunakan untuk tentukan antara muka yang boleh digunakan dalam berbilang Tugasan yang dilaksanakan dalam persekitaran benang. Sebelum Java 8, kami perlu menentukan kelas yang melaksanakan antara muka Runnable dan mengatasi kaedah run. Kini, kita boleh menggunakan ungkapan Lambda untuk melaksanakan antara muka Runnable, menjadikan kod lebih ringkas. Berikut ialah contoh menggunakan ungkapan Lambda untuk melaksanakan antara muka Runnable:

Thread thread = new Thread(() -> {
    for (int i = 0; i < 10; i++) {
        System.out.println("Hello, Lambda!" + i);
    }
});
thread.start();
Salin selepas log masuk

Hasil keluaran: Hello, Lambda 0

      Hello, Lambda!1
      ...
      Hello, Lambda!9
Salin selepas log masuk

Contoh 3: Menggunakan ungkapan Lambda untuk melaksanakan antara muka berfungsi tersuai

Selain menggunakan antara muka fungsi yang dipratentukan , kami boleh! juga menyesuaikan antara muka berfungsi. Berikut ialah contoh yang menunjukkan cara melaksanakan antara muka fungsi tersuai menggunakan ungkapan Lambda:

@FunctionalInterface
interface MathOperation {
    int operation(int a, int b);
}

public class FunctionalInterfaceDemo {
    public static void main(String[] args) {
        MathOperation addition = (a, b) -> a + b;
        MathOperation subtraction = (a, b) -> a - b;
        MathOperation multiplication = (a, b) -> a * b;
        MathOperation division = (a, b) -> a / b;

        System.out.println(addition.operation(10, 5));      // 输出结果:15
        System.out.println(subtraction.operation(10, 5));   // 输出结果:5
        System.out.println(multiplication.operation(10, 5));// 输出结果:50
        System.out.println(division.operation(10, 5));      // 输出结果:2
    }
}
Salin selepas log masuk

Hasil keluaran: 15

      5
      50
      2
Salin selepas log masuk

Kesimpulan:

Artikel ini menerangkan cara melaksanakan pengaturcaraan berfungsi menggunakan ungkapan Lambda dalam Java 8 dan lulus Contoh menunjukkan sintaks asas dan senario aplikasi ungkapan Lambda. Pengenalan ungkapan lambda menjadikan kod lebih ringkas, fleksibel dan boleh dibaca, yang sangat membantu untuk meningkatkan kecekapan pembangunan dan menulis kod berkualiti tinggi. Pembangun boleh menggunakan ekspresi Lambda secara fleksibel mengikut keperluan sebenar dan menikmati faedah pengaturcaraan berfungsi. Pada masa yang sama, kita juga harus memberi perhatian kepada skop dan had ungkapan Lambda yang berkenaan untuk mengelakkan penyalahgunaan yang akan mengurangkan kebolehbacaan kod.

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

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan