Rumah >Java >javaTutorial >Ungkapan Lambda Java

Ungkapan Lambda Java

WBOY
WBOYasal
2024-08-30 16:16:201112semak imbas

Lambda Expressions ialah penambahan ciri baharu dan diperkenalkan dalam Java8. Ia pada asasnya menerangkan semua contoh antara muka berfungsi. Pelaksanaannya berfungsi dengan cara yang merangkumi hanya satu fungsi abstrak dan melaksanakan antara muka berfungsi. Java 8 Lambda Expression boleh mencipta hujah kaedah atau menganggap keseluruhan kod sebagai data. Ia boleh melaksanakan fungsi yang tidak mempunyai sebarang kelas khusus, yang bermaksud kelas abstrak. Ungkapan ini boleh dihantar ke objek seterusnya dan boleh dilaksanakan apabila diperlukan. Ungkapan Lambda boleh dianggap sama seperti fungsi dan boleh menerima parameter seperti fungsi lain.

Sintaks:

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

lambda_operator -> body

Parameter Ungkapan Java Lambda

Parameter yang dihantar ke lambda_operator adalah seperti berikut:

  • # Parameter Sifar: Parameter ini bermakna ia tidak boleh lulus mana-mana hujah daripada fungsi, yang diwakili seperti di bawah:
  • (): System.out.println(“argumen Zerolambda”);
  • # Satu Parameter: Parameter ini bermakna ia boleh menghantar mana-mana satu hujah daripada fungsi, yang diwakili seperti di bawah:
  • (p): System.out.println(“Satu hujah: ” + p);
  • # Berbilang Parameter: Seperti namanya, parameter ini boleh digunakan untuk menghantar lebih daripada satu parameter kepada operator, dan ia diwakili seperti di bawah:
  • (q1, q2): System.out.println(“Berbilang argumen: ” + q1 + “, ” + q2);

Mengapa kita memerlukan Java Lambda Expressions?

Ungkapan Lambda wujud dengan Java 8 dan telah mengubah serta memudahkan semua pelaksanaan kompleks blok kod yang boleh dihantar untuk pelaksanaan. Ia adalah ciri yang sangat biasa yang digunakan oleh banyak bahasa pengaturcaraan lain, dan begitu juga Java 8; selepas pengenalannya, ciri java yang lebih awal memerlukan penciptaan objek dan kemudian menghantar objek tersebut, seperti untuk membuat corak reka bentuk berstrategi. Tetapi ungkapan lambda menjadi penyelamat masalah yang diterangkan di atas kerana ia merupakan penambahan nilai untuk meningkatkan pelaksanaan antara muka berfungsi. Ia telah memudahkan pelaksanaan dengan fungsi lambda_operator menghala ke arah badan program yang mempunyai sifar, satu, dan berbilang parameter untuk dihantar ke fungsi tersebut. Ia juga menggunakan fungsi yang dibuat dan bukan milik mana-mana kelas yang ditentukan. Ia mempunyai ciri yang sangat baik yang boleh menggunakan fungsi sebagai hujah kaedah bagi fungsi, yang dianggap data secara keseluruhan.

Ungkapan Lambda dalam Java 8 sangat berkuasa dan sangat menarik. Adalah sangat disyorkan untuk menukar objek yang berkaitan dengan antara muka berfungsi untuk output terakhirnya.

Bagaimanakah Java Lambda Expressions berfungsi?

Terdapat corak kerja tersembunyi dalam mana-mana ungkapan, jadi sebagai Ungkapan Lambda ia juga mempunyai beberapa corak kerja yang diwakili seperti berikut:

(int arg_a, String arg_b)
{System.out.println("two arguments"+ arg_a+" and "+arg_b);}

Dua argumen int arg_a dan String arg_b ini membentuk senarai argumen dengan hujah sifar, satu hujah atau lebih daripada dua hujah, iaitu berbilang argumen. Argumen ini sebagai senarai hujah diserahkan kepada badan ungkapan lambda dengan bantuan token anak panah. Token anak panah ini dengan senarai hujahnya terus mengikuti badan lambda. Selain itu, ungkapan lambda dalam format ini selanjutnya menggunakan antara muka berfungsi untuk pelaksanaannya. Tetapi jika ia adalah beberapa senarai argumen, maka adalah wajib untuk menutup kurungan atau blok kod dan kemudian jenis pulangan fungsi tanpa nama akan sama dengan jenis nilai yang perlu mengembalikan kod blok atau batal jika yang tidak dikembalikan atau mempunyai sebarang nilai untuknya.

Contoh untuk Melaksanakan Ungkapan Java Lambda

Di bawah ialah contoh Ungkapan Java Lambda:

Contoh #1

Atur cara ini menggambarkan pelaksanaan antara muka tanpa ungkapan lambda digunakan dan tidak juga dengan mencipta kelas abstrak untuk mencetak saiz segi empat tepat.

Kod:

interface Shapes
{
public void rectangle();
}
public class WithoutLambdaExpression {
public static void main(String[] args) {
int size=15;
Shapes wd=new Shapes(){
public void rectangle()
{
System.out.println("Get the shape" +  size );
}
};
wd.rectangle();
}
}

Output:

Ungkapan Lambda Java

Contoh #2

Atur cara ini menggambarkan penciptaan antara muka berfungsi menggunakan Ungkapan lambda, dengan itu memberikan output bentuk yang diperlukan.

Kod:

interface Shapes{
public void Rectangle();
}
public class UsinglmbdaExpression {
public static void main(String[] args) {
int size=20;
Shapes r8=()->
{
System.out.println("Shapes of all sizes "+ size);
};
r8.Rectangle();
}
}

Output:

Ungkapan Lambda Java

Example #3

This program is used to illustrate the Lambda Expression for Java 8 by not passing any parameter implemented just with the function parameter and the associated abstract classes of the implemented functional interface as shown.

Code:

interface SomethingFishy{
public String strange();
}
public class LambdaWithNoArg{
public static void main(String[] args) {
SomethingFishy k=()->{
return "Very Strange View.";
};
System.out.println(k.strange());
}
}

Output:

Ungkapan Lambda Java

Example #4

This program illustrates the lambda Expression with the implementation of functional parameters, thereby passing the single parameter from the function of the interface and the lambda expression associated with it.

Code:

interface JuicyFruit{
public String juicy(String name);
}
public class SinglParamLambda
{
public static void main(String[] args)
{
JuicyFruit jf1=(name)->{
return "Kiwi, "+name;
};
System.out.println(jf1.juicy("orange"));
JuicyFruit jf2= name ->{
return "Mango, "+name;
};
System.out.println(jf2.juicy("Pineapple"));
}
}

Output:

Ungkapan Lambda Java

Example #5

This program is used to illustrate the Multiple parameter lambda Expression with the functional interface of division and its values to be divided using the class’s div function.

Code:

interface Division{
int div(int p,int q);
}
public class MultiParamLambdaExpression{
public static void main(String[] args) {
Division div1=(p,q)->(p/q);
System.out.println(div1.div(20,40));
Division div2=(int p,int q)->(p/q);
System.out.println(div2.div(400,600));
}
}

Output

Ungkapan Lambda Java

Note: Lambda expressions are exclusively used to implement the functional interfaces, and they can contain any type of argument such as zero, two or multiple.

Conclusion

Lambda Expression introduced with Java 8 has simplified the execution of the block of code using the array operator and operator arrow pointing to the lambda body, and then it will be used for implementing the interfaces with the abstract classes associated with each class. Thus, Lambda Expression of Java 8 has really transformed the interface interaction and the implementation of the functions and method easier with the abstract classes.

Atas ialah kandungan terperinci Ungkapan Lambda Java. 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
Artikel sebelumnya:Java ServerSocketArtikel seterusnya:Java ServerSocket