Fonctionnalité d'expression lambda Java 8

Java 8 introduced lambda expression to move toward functional programming. A lambda expression is an anonymous function that doesn’t have a name and doesn’t belong to any class.

Where to use the Lambda Expression A lambda expression can only be used where the type they are matched against is a single abstract method(SAM) interface or functional interface.

To use a lambda expression, you can either create your own functional interface or use the predefined functional interface provided by Java.

Example of a pre-defined interface: Runnable, callable, ActionListener, etc.

Pre Java 8: Use anonymous inner classes. Post-Java 8: Now use lambda expression instead of anonymous inner classes.

Points to remember Lambda expression is also known as a closure that allows us to treat functionality as a method arguments (passing functions around) or treat code as data. Lambda expression concept was first introduced in the LISP programming language. Lambda expression is used to provide an implementation of a functional interface or Single Method Interface. Lambda expression treated as a function so the compiler does not create .class file. Lambda expression doesn’t need to define a method again for implementation. Lambda expression benefit is less coding. Java Lambda expression Syntax To create a lambda expression, On the left side of the symbol lambda operator(->) specify input parameters (if there are any), and on the right side place the expression or block of statements.

(parameter_list) -> {function_body} For example, the lambda expression (x, y) -> x + y specifies that lambda expression takes two arguments x and y and returns the sum of these.

Note:

Optional type declaration: No need to declare the data type of a parameter. The compiler can inference the data type from the value of the parameter. The optional parenthesis around parameter: No needs to declare a single parameter in parenthesis. For multiple parameters, parentheses are required. Optional curly braces: For a single line of the statement, No need to use curly braces in the expression body. Optional return keyword: The compiler automatically returns the value if the body has a single expression statement to return the value. Curly braces are required to indicate that expression statement returns a value. Here is some Lamda expression example according to a number of arguments.

No Argument Syntax

()->{ //write some statemnet here } One Argument Syntax

(arg1)->{ //write some statemnet here } Two Argument Syntax

(arg1,arg2)->{ //write some statemnet here } Method vs Lambda Expression in Java A function (or method) in Java has four main parts:

  1. Name
  2. Parameter list
  3. Body
  4. return type.

A lambda expression has these main parts: Lambda expression only has a parameter list and body.

  1. No name – Lambda expression is an anonymous function that doesn’t have a name.
  2. Parameter list
  3. Body – This is the main part of the function where implementation is written.
  4. No return type – Don’t need to write a return statement explicitly. The compiler is able to infer the return type by checking the code.

Related on

Spring boot interview questions and answers

Recommended Posts

Fonctionnalité d'expression lambda Java 8
[Java] Expression Lambda
Expression lambda Java
expression 1 de la table lambda neutre java
Variations d'expressions lambda Java
mémo d'expression java lambda
expression lambda java [écriture de notes]
Etudier Java 8 (expression lambda)
Évaluer java8 ~ Type Lambda ~
Expression lambda Java à nouveau
[Java] Interface fonctionnelle / expression lambda
Flux Java8, résumé de l'expression lambda
Contenu d'apprentissage de base Java 9 (expression lambda)
Qu'est-ce qu'une expression lambda (Java)
Bonjour Java Lambda
Récapitulons maintenant l'expression lambda Java
Résumé des nouvelles fonctionnalités de Java 12
Résumé des nouvelles fonctionnalités de Java 13
apprentissage java (expression conditionnelle)
Quarkus enregistre Java Lambda! ??
Comprendre les expressions lambda Java 8
Comment utiliser l'API Java avec des expressions lambda
À propos des expressions Java lambda
Java 8 pour démarrer maintenant ~ for Each et expression lambda ~
Introduction au style lambda
Expliquer les expressions lambda Java 8
Injection d'expression de table Java
Résumé des nouvelles fonctionnalités de Java 10
résumé des expressions régulières java
Résumé des nouvelles fonctionnalités de Java 14
Repenser le modèle d'expression et de conception de flux Java8 Lambda - Modèle de commande -
Premiers pas avec les anciens ingénieurs Java (Stream + Lambda)
Repenser le modèle d'expression et de conception de flux Java8 Lambda - Modèle d'objet nul -
Repenser les modèles d'expression et de conception de flux Java8 - Modèle de méthode
Utiliser des couches Lambda avec Java
Attribuer des expressions lambda Java8 aux variables et les réutiliser
Java8 Lambda Expression & Stream Design Pattern Repenser - Modèle de chaîne de responsabilité -
Expression lambda Java apprise avec Comparator
[Introduction à Java] À propos des expressions lambda
Java sur AWS Lambda est-il lent?
Hello World avec AWS Lambda + Java
Essayez une expression If en Java
Java
Java EE 8 (Jakarta EE 8) Résumé des nouvelles fonctionnalités
Java
L'origine des expressions Java lambda
Comment utiliser les expressions Java lambda
Comparaison des méthodes d'implémentation de thread en Java et de la méthode d'expression lambda
Je veux ForEach un tableau avec une expression Lambda en Java
Implémenter l'autorisation API Gateway Lambda dans Java Lambda
J'ai essayé de résumer les expressions Java lambda
De nos jours, les expressions Java Lambda et l'API de flux
AWS Lambda (Lambda) Partie 1 avec Java pour démarrer maintenant
Gérez d'énormes JSON avec Java Lambda
J'ai examiné l'expression lambda de Java, l'API de flux, six mois après avoir commencé Java.