Tham số biểu thức Lambda – java lambda biểu thức dưới dạng tham số

Cổng thông tin Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, được tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : biểu thức lambda java dưới dạng tham số

Biểu thức lambda là các hàm ẩn danh. Các hàm này không cần tên hoặc lớp để được sử dụng. Biểu thức Lambda được thêm vào trong Java 8. Biểu thức lambda về cơ bản thể hiện các thể hiện của giao diện chức năng Một giao diện với một phương thức trừu tượng duy nhất được gọi là giao diện chức năng. Một ví dụ là java.lang.Runnable.

Biểu thức Lambda chỉ triển khai một hàm trừu tượng và do đó triển khai các giao diện chức năng. Giao diện vị từ là một ví dụ về giao diện chức năng chỉ có một phương thức trừu tượng được gọi là test ().

Hình minh họa:

 giao diện Vị ngữ
{
    ......
    kiểm tra boolean trừu tượng (T t)
} 

Ở trên là một giao diện chức năng có một kiểm tra phương thức trừu tượng chỉ nhận một tham số kiểu T và trả về một giá trị boolean. Phương thức này là một phương thức chung có tham số kiểu. Giao diện này có thể được triển khai ở bất kỳ đâu trong chương trình bằng cách sử dụng biểu thức lambda thay vì tạo các lớp với nhiều hàm. Ví dụ, để triển khai một giao diện runnable chỉ được sử dụng cho đa luồng, người ta chỉ cần triển khai một phương thức run (). Sau đó, có giao diện so sánh có thể được triển khai bằng phương thức so sánh ().

Điểm quan trọng:

  • Phần nội dung của biểu thức lambda có thể chứa 0, một hoặc nhiều câu lệnh.
  • < li> Khi có một câu lệnh duy nhất thì dấu ngoặc nhọn không bắt buộc và kiểu trả về của hàm ẩn danh giống với kiểu của biểu thức nội dung.

  • Khi có nhiều câu lệnh, thì những câu lệnh này phải là được đặt trong dấu ngoặc nhọn (một khối mã) và kiểu trả về của hàm ẩn danh giống với kiểu của giá trị được trả về trong khối mã hoặc vô hiệu nếu không có gì được trả về.

Đây là những biểu thức lambda dòng đơn có kiểu trả về void.

Loại 1: Không có tham số.

Cú pháp:

 () - & gt; System.out.println ("Xin chào"); 

Nó có giao diện có dạng sau:

 giao diện Test1
{
    void print ()
} 

Loại 2: Tham số đơn.

Cú pháp:

 (p) - & gt; System.out.println (p); 

Không bắt buộc phải sử dụng dấu ngoặc đơn nếu kiểu của biến đó có thể được suy ra từ ngữ cảnh

Giao diện có dạng sau:

 giao diện Test2
{
    void print (Số nguyên p)
} 

Kiểu và kiểu trả về của lambdas được tự động suy ra.

Kiểu 3: Nhiều tham số

 (p1, p2 ) - & gt; System.out.println (p1 + "" + p2); 

Không bắt buộc phải sử dụng dấu ngoặc đơn nếu kiểu của biến đó có thể được suy ra từ ngữ cảnh

Nó có giao diện của biểu mẫu sau:

 giao diện Test3
{
    void print (Số nguyên p1, Số nguyên p2)
} 

Kiểu và kiểu trả về của lambdas được tự động suy ra.

Bây giờ, chúng ta đã hoàn tất việc thảo luận về khái niệm lý thuyết, bây giờ chúng ta hãy đến với phần triển khai. Vì vậy, ở đây chủ yếu chúng ta sẽ thảo luận về các mã cho ba loại trên như đã thảo luận ở trên:

Lưu ý: forEach () method là của Giao diện có thể lặp lại được sử dụng để lặp lại qua một bộ sưu tập. Ở đây, nó có một đối số là giao diện Kiểu người tiêu dùng. Đây là một giao diện chức năng chỉ có một phương thức trừu tượng được gọi là accept (). Vì nó là một giao diện chức năng, một biểu thức lambda có thể được chuyển qua.

Do đó, nếu chúng ta kết luận ở trên

Ví dụ 1: > Biểu thức Lambda không có tham số

Java

giao diện Test1 {

void print ();

}

class GfG {

static void vui vẻ (Test1 t) {t.print (); }

public static void main (String [] args)

{

fun (() - & gt; System.out.println ( " Xin chào! mã class = "trơn">}

}

 
Đầu ra

 Xin chào 

Ví dụ 2: Loại biểu thức Lambda 2 với một tham số duy nhất

Java

< / p>

giao diện Test2 {

< code class = "undefined space">

void print (Số nguyên p);

}

class GfG {

static void fun (Test2 t, Integer p)

{

t .print (p);

}

public static void main (String [] args)

< code class = "trơn"> {

vui vẻ (p - & gt; System.out.println (p), 10 );

}

}

 
 

Đầu ra

 10 

Ví dụ 3: Loại biểu thức Lambda 3 với nhiều tham số

Java

< p class = "line number4 index3 alt1">

giao diện < / code> Test3 {

< p class = "line number8 index7 alt1">

void print (Số nguyên p1, Số nguyên p2);

}

class GfG {

< / code>

static void fun (Test3 t, Integer p1, Integer p2)

{

< / p>

t.print (p1, p2);

}

public static void main (String [] args)

{

< / p>

fun ((p1, p2)

- & gt; System.out.println (p1 + "" + p2),

10 , 20 );

}

}

 
 

Output

 10 20 

Ví dụ 4: Biểu thức Lambda có hai tham số

Java

giao diện NumericTest2 {

boolean test ( int n, int d);

}

class GFG {

public static void main (String args []) {

NumericTest2 isFactor = (n, d) - & gt; (n% d) == 0 ;

if (isFactor.test ( 10 , 2 ))

System.out.println ( " 2 là hệ số của 10 " );

if (! isFactor.test ( 10 , 3 ))

System.out.println ( " 3 không phải là hệ số của 10 " );

}

}

 
 

Output

 2 là hệ số của 10
3 không phải là hệ số của 10 

Ghi chú cá nhân của tôi


Xem thêm những thông tin liên quan đến chủ đề java lambda biểu thức dưới dạng tham số

Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Training | Edureka

alt

  • Tác giả: edureka!
  • Ngày đăng: 2018-11-29
  • Đánh giá: 4 ⭐ ( 5877 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: **** Java Certification Training: https://www.edureka.co/java-j2ee-training-course ****
    This Edureka tutorial on “Lambda Expressions in Java” will introduce you to a new Java feature called Lambda Expressions. It will also talk about the functional interface in Java. Through this tutorial you will learn the following topics:
    [1:11] Java Lambda Expressions
    [2:26] Functional Interface
    [8:46] Lambda Parameters
    [11:55] Lambda as an Object
    [12:29] Lambda Value Capture
    [15:01] Method References as lambdas

    Check out our Java Tutorial blog series: https://goo.gl/osrGrS

    Check out our complete Youtube playlist here: https://goo.gl/gMFLx3

    -------------------------------------

    Do subscribe to our channel and hit the bell icon to never miss an update from us in the future: https://goo.gl/6ohpTV

    Instagram: https://www.instagram.com/edureka_learning/
    Facebook: https://www.facebook.com/edurekaIN/
    Twitter: https://twitter.com/edurekain
    LinkedIn: https://www.linkedin.com/company/edureka

    Java Javalambda JavaLambdaTutorial LearnJava JavaOnlineTraining JavaProgramming

    -------------------------------------

    How it Works?

    1. This is a 7 Week Instructor-led Online Course, 45 hours of assignment and 20 hours of project work

    2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course.

    3. At the end of the training, you will be working on a real-time project for which we will provide you a Grade and a Verifiable Certificate!

    -------------------------------------

    About the Course

    Edureka's Advanced Java J2EE and SOA training and certification course is designed for students and professionals who want to be a Java Developer. This is a 42-hour course which will cover both core and advanced Java concepts like Database connectivity, Threads, Exception Handling, Collections, JSP, Servlets, XML Handling etc. We will also learn various Java frameworks like Hibernate and Spring. During our Java/ Certification training, our instructors will help you:

    1. Develop the code with various Java data types, conditions, and loops.
    2. Implement arrays, functions and string handling techniques.
    3. Understand object-oriented programming through Java using Classes, Objects and various Java concepts like Abstract, Final etc.
    4. Implement multi-threading and exception handling.
    5. Use parse XML files using DOM and SAX in Java.
    6. Write a code in JDBC to communicate with the Database.
    7. Develop web applications and JSP pages.
    8. Interact with the database using hibernate framework.
    9. Write code with spring framework components like Dependency Injection and Auto Wiring.
    10. Implement SOA using web services.

    -------------------------------------

    Who should go for this course?

    This course is designed for professionals aspiring to become Java Developers. Programmers, Web Developers, Web Designers, Programming Hobbyists, Database Administrators, Youngsters who want to kick-start their career are the key beneficiaries of this course.

    -------------------------------------

    Why learn Java?

    Java is a general-purpose, class-based, object-oriented computer programming language that was designed by James Gosling at Sun Microsystems in 1995.

    Key Highlights of Java:
    Platform Independent: This allows programmers to develop applications that can run on any operating system.

    Usability of Java: Java is the most widely used programming language. It is present everywhere. It really doesn't matter which domain you are working in, you will surely come across Java sooner or later!

    Open Source: The good news is that Java is available for free! All the development tools and the environment (JRE & JDK) that is used to develop Java applications are absolutely free of cost.

    Android: Irrespective of the fact that you are tech savvy or not, most of us are badly bitten by the Android bug! Android is in great demand today and fortunately, you need Java for Android development. Hence, the importance of Java has increased even more.

    Hadoop: Hadoop is one of the most trending frameworks for processing Big Data. It has been designed and developed in Java.

    In spite of having a tough competition on the server side from Microsoft and other companies, Java is doing extremely well on mobile platforms, thanks to Android! It has also been the primary language for Hadoop Developers.

    -------------------------------------

    Got a question on the topic?
    Please share it in the comment section below and our experts will answer it for you.

    For Java Training and Certification, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll free).

Biểu thức Java Lambda

  • Tác giả: codefly.vn
  • Đánh giá: 4 ⭐ ( 7058 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Một trong những tính năng hay nhất của Java 8

  • Tác giả: bachkhoa-aptech.edu.vn
  • Đánh giá: 4 ⭐ ( 3246 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

[Tự học Java] Biểu thức lambda trong Java

  • Tác giả: cafedev.vn
  • Đánh giá: 5 ⭐ ( 6298 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này, bạn sẽ được tìm hiểu về tính năng mới được đưa vào Java 8, đó là việc hỗ trợ cho việc biểu thức lambda sử dụng giao diện hàm số.

Lambda Expressions trong Java 8

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 4659 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ tìm hiểu về Lambda Expressions trong Java 8, đây là tính năng được thêm vào kể từ phiên bản Java SE 8 nên rất mới.

Nắm rõ JAVA LAMBDA EXPRESSION cho người mới bắt đầu

  • Tác giả: viblo.asia
  • Đánh giá: 3 ⭐ ( 8812 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lời nói đầu Java Lambda Expression (biểu thức Lambda) là một tính năng được thêm vào Java 8. Đây là một tính năng rất thú vị và nó đã góp phần thay đổi xu hướng lập trình trong Java. Đây là tính năng...

Biểu thức Lambda trong Java 8 – Lambda Expressions

  • Tác giả: giangphandev.blogspot.com
  • Đánh giá: 3 ⭐ ( 8042 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Blog về công nghệ, phần mềm, công nghệ thông tin

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hình dạng Python NumPy với các ví dụ - hình dạng làm gì trong con trăn