Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Training | Edureka
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
01
02
03
05
06
07
Java Lambda Expressions
Functional Interface
Lambda Parameters
Lambda as an Object
Lambda Value Capture
Method References as
Lambdas
Topics For Today’s Discussion
Java Lambda
Expressions
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
It provides the implementation of a functional interface & simplifies the software development
It provides a clear and concise way to represent a method interface via an expression
Java Lambda Expressions
It is an anonymous function that doesn’t have a name and doesn’t belong to any class
Java lambda expressions are Java's first step into functional programming
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
parameter -> expression body->
Java Lambda Expressions
Syntax
Characteristics
-> Optional Type Declarations
-> Optional Parenthesis Around Parameters
-> Optional Curly Braces
-> Optional return keyword
Arrow Operator is introduced in Java through lambda
expressions that divides it into two parts i.e Parameters & Body
Functional
Interface
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Functional Interface
Functional Interface is
an interface that
contains exactly one
abstract method
It can have any
number of default or
static methods along
with object class
methods
Java provides
predefined functional
interfaces to deal with
functional
programming
Runnable,
ActionListener,
Comparable are some
of the examples of
functional interfaces
01 02 03 04
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Functional Interface
@FunctionalInterface
interface displayable{
void display(String msg);
}
public class Test implements displayable{
public void display(String msg){
System.out.println(msg);
}
public static void main(String[] args) {
Test dis = new Test();
dis.display("Welcome to Lambda Tutorial by Edureka!");
}
}
Lambda
parameters
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
Lambda Expressions can take parameters just like methods
1 2 3
Zero Parameters One Parameter Multiple Parameters
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Zero Parameters
One Parameter
Multiple Parameters
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Zero Parameters
One Parameter
Multiple Parameters
() -> System.out.println("Zero parameter lambda");
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Zero Parameters
One Parameter
Multiple Parameters
() -> System.out.println("Zero parameter lambda");
(param) -> System.out.println("One parameter: " + param);
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Zero Parameters
One Parameter
Multiple Parameters
() -> System.out.println("Zero parameter lambda");
(param) -> System.out.println("One parameter: " + param);
(p1, p2) -> System.out.println("Multiple parameters: " +
p1 + ", " + p2);
Lambda As An
object
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda as an Object
A Java lambda expression is essentially an object that can be assigned to a variable and passed around
public interface LambdaComparator {
public boolean compare(int a1, int a2);
}
LambdaComparator myComparator = (a1, a2) -> return a1 > a2;
boolean result = myComparator.compare(2, 5);
Interface
Implementing
class
Lambda Variable
Capture
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Variable Capture
Java lambda expression can access variables that are declared outside the lambda function body under
certain circumstances
1 2 3
Local Variable Instance Variables Static Variables
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Local Variable
Instance Variables
Static Variables
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Local Variable
String myStr = "Welcome to Edureka!";
MyLambda dis = (chars) -> {
return myStr + ":" + new String(chars);
};
Instance Variables
Static Variables
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Local Variable
Instance Variables
Static Variables
public class LambdaStaticConsumerDemo {
private String str = "Lambda Consumer";
public void attach(LambdaStaticProducerDemo eventProd){
eventProd.listen(e -> {
System.out.println(this.str);
});
}
}
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Lambda Parameters
1
2
3
Local Variable
Instance Variables
Static Variables
public class LambdaStaticConsumerDemo {
private static String myStaticVar = "Edureka!";
public void attach(LambdaStaticProducerDemo eventProd){
eventProd.listen(e -> {
System.out.println(myStaticVar);
});
}
}
Method references
As lambdas
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Method References
Java lambda expression can access variables that are declared outside the lambda function body under
certain circumstances
Static Method
Reference
1 2 3 4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Method References
Static Method
Reference
1
2
3
4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Class
Lambda Expression
Interface
Method References - Static
Static Method
Reference1
2
3
4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
public interface Display {
public int show(String s1, String s2);
}
public class Test{
public static int doShow(String s1, String s2){
return s1.lastIndexOf(s2);
}
}
Display disp = Test::doShow;
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Method References - Parameter
Static Method
Reference
1
2
3
4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
Interface
public interface Display {
public int show(String s1, String s2);
}
Lambda Expression
Display disp = String::indexOf;
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Method References - Instance
Static Method
Reference
1
2
3
4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
Interface
public interface Deserializer {
public int deserialize(String v1);
}
Class
Lambda Expression
public class StringConverter {
public int convertToInt(String v1){
return Integer.valueOf(v1);
}
}
StringConverter strConv = new StringConverter();
Deserializer deserializer = strConv::convertToInt;
JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training
Method References - Constructor
Static Method
Reference
1
2
3
4
Parameter Method
Reference
Instance Method
Reference
Constructor Method
Reference
Interface
public interface Factory {
public String create(char[] val);
}
Lambda Expression
Factory fact = String::new;
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Training | Edureka

More Related Content

PPTX
Java 8 Lambda and Streams
PPTX
Java Lambda Expressions.pptx
ODP
Introduction to Java 8
PPTX
Java 8 presentation
PPTX
Functional programming with Java 8
PDF
Java 8 lambda expressions
PPTX
Java 8 lambda
PDF
Java 8 features
Java 8 Lambda and Streams
Java Lambda Expressions.pptx
Introduction to Java 8
Java 8 presentation
Functional programming with Java 8
Java 8 lambda expressions
Java 8 lambda
Java 8 features

What's hot (20)

PDF
Java 8 Lambda Expressions
PPTX
Introduction to java 8 stream api
PPTX
Lambda Expressions in Java 8
PDF
Spring Framework - Core
PPTX
Spring boot Introduction
PDF
Streams in Java 8
PDF
Spring Data JPA from 0-100 in 60 minutes
PPTX
java 8 new features
PPTX
Java 8 streams
PDF
Spring Data JPA
PDF
Java 8 Lambda Expressions & Streams
ODP
Introduction to Spring Framework and Spring IoC
PDF
Networking in Java with NIO and Netty
PDF
Java 8 Stream API. A different way to process collections.
PDF
Generics
PPT
ABSTRACT CLASSES AND INTERFACES.ppt
PPT
Java Persistence API (JPA) Step By Step
PPSX
Collections - Lists, Sets
PPTX
Spring & hibernate
Java 8 Lambda Expressions
Introduction to java 8 stream api
Lambda Expressions in Java 8
Spring Framework - Core
Spring boot Introduction
Streams in Java 8
Spring Data JPA from 0-100 in 60 minutes
java 8 new features
Java 8 streams
Spring Data JPA
Java 8 Lambda Expressions & Streams
Introduction to Spring Framework and Spring IoC
Networking in Java with NIO and Netty
Java 8 Stream API. A different way to process collections.
Generics
ABSTRACT CLASSES AND INTERFACES.ppt
Java Persistence API (JPA) Step By Step
Collections - Lists, Sets
Spring & hibernate
Ad

Similar to Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Training | Edureka (20)

PDF
Unit-3.pptx.pdf java api knowledge apiii
PPTX
Simple Lambdas in java in oca 8.0 on feb
PDF
Programming with Lambda Expressions in Java
PDF
PDF
Lambdas in Java 8
PPTX
JDK8 Lambdas and Streams: Changing The Way You Think When Developing Java
PDF
Jf12 lambdas injava8-1
PDF
Lambda Expression For anyone that needs Java Lambda notes
PPT
Major Java 8 features
PPTX
Java Advanced Topic - Java Lambda Expressions.pptx
PDF
PPTX
Java 8 new features
PPTX
Functional Programming In Jdk8
PPTX
Lambdas : Beyond The Basics
PPTX
Lambdas, Collections Framework, Stream API
PPTX
Week-1..................................
PPTX
Java 8 features
PPTX
PDF
LambdaExpressionInjavaforlearning fucntion
PDF
Productive Programming in Java 8 - with Lambdas and Streams
Unit-3.pptx.pdf java api knowledge apiii
Simple Lambdas in java in oca 8.0 on feb
Programming with Lambda Expressions in Java
Lambdas in Java 8
JDK8 Lambdas and Streams: Changing The Way You Think When Developing Java
Jf12 lambdas injava8-1
Lambda Expression For anyone that needs Java Lambda notes
Major Java 8 features
Java Advanced Topic - Java Lambda Expressions.pptx
Java 8 new features
Functional Programming In Jdk8
Lambdas : Beyond The Basics
Lambdas, Collections Framework, Stream API
Week-1..................................
Java 8 features
LambdaExpressionInjavaforlearning fucntion
Productive Programming in Java 8 - with Lambdas and Streams
Ad

More from Edureka! (20)

PDF
What to learn during the 21 days Lockdown | Edureka
PDF
Top 10 Dying Programming Languages in 2020 | Edureka
PDF
Top 5 Trending Business Intelligence Tools | Edureka
PDF
Tableau Tutorial for Data Science | Edureka
PDF
Python Programming Tutorial | Edureka
PDF
Top 5 PMP Certifications | Edureka
PDF
Top Maven Interview Questions in 2020 | Edureka
PDF
Linux Mint Tutorial | Edureka
PDF
How to Deploy Java Web App in AWS| Edureka
PDF
Importance of Digital Marketing | Edureka
PDF
RPA in 2020 | Edureka
PDF
Email Notifications in Jenkins | Edureka
PDF
EA Algorithm in Machine Learning | Edureka
PDF
Cognitive AI Tutorial | Edureka
PDF
AWS Cloud Practitioner Tutorial | Edureka
PDF
Blue Prism Top Interview Questions | Edureka
PDF
Big Data on AWS Tutorial | Edureka
PDF
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
PDF
Kubernetes Installation on Ubuntu | Edureka
PDF
Introduction to DevOps | Edureka
What to learn during the 21 days Lockdown | Edureka
Top 10 Dying Programming Languages in 2020 | Edureka
Top 5 Trending Business Intelligence Tools | Edureka
Tableau Tutorial for Data Science | Edureka
Python Programming Tutorial | Edureka
Top 5 PMP Certifications | Edureka
Top Maven Interview Questions in 2020 | Edureka
Linux Mint Tutorial | Edureka
How to Deploy Java Web App in AWS| Edureka
Importance of Digital Marketing | Edureka
RPA in 2020 | Edureka
Email Notifications in Jenkins | Edureka
EA Algorithm in Machine Learning | Edureka
Cognitive AI Tutorial | Edureka
AWS Cloud Practitioner Tutorial | Edureka
Blue Prism Top Interview Questions | Edureka
Big Data on AWS Tutorial | Edureka
A star algorithm | A* Algorithm in Artificial Intelligence | Edureka
Kubernetes Installation on Ubuntu | Edureka
Introduction to DevOps | Edureka

Recently uploaded (20)

PPTX
Chapter 5: Probability Theory and Statistics
PPTX
Configure Apache Mutual Authentication
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
DOCX
search engine optimization ppt fir known well about this
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Modernising the Digital Integration Hub
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
UiPath Agentic Automation session 1: RPA to Agents
Chapter 5: Probability Theory and Statistics
Configure Apache Mutual Authentication
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Enhancing emotion recognition model for a student engagement use case through...
search engine optimization ppt fir known well about this
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
A proposed approach for plagiarism detection in Myanmar Unicode text
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Hindi spoken digit analysis for native and non-native speakers
sbt 2.0: go big (Scala Days 2025 edition)
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Modernising the Digital Integration Hub
sustainability-14-14877-v2.pddhzftheheeeee
Custom Battery Pack Design Considerations for Performance and Safety
NewMind AI Weekly Chronicles – August ’25 Week III
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
UiPath Agentic Automation session 1: RPA to Agents

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

  • 2. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training 01 02 03 05 06 07 Java Lambda Expressions Functional Interface Lambda Parameters Lambda as an Object Lambda Value Capture Method References as Lambdas Topics For Today’s Discussion
  • 4. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training It provides the implementation of a functional interface & simplifies the software development It provides a clear and concise way to represent a method interface via an expression Java Lambda Expressions It is an anonymous function that doesn’t have a name and doesn’t belong to any class Java lambda expressions are Java's first step into functional programming
  • 5. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training parameter -> expression body-> Java Lambda Expressions Syntax Characteristics -> Optional Type Declarations -> Optional Parenthesis Around Parameters -> Optional Curly Braces -> Optional return keyword Arrow Operator is introduced in Java through lambda expressions that divides it into two parts i.e Parameters & Body
  • 7. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Functional Interface Functional Interface is an interface that contains exactly one abstract method It can have any number of default or static methods along with object class methods Java provides predefined functional interfaces to deal with functional programming Runnable, ActionListener, Comparable are some of the examples of functional interfaces 01 02 03 04
  • 8. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Functional Interface @FunctionalInterface interface displayable{ void display(String msg); } public class Test implements displayable{ public void display(String msg){ System.out.println(msg); } public static void main(String[] args) { Test dis = new Test(); dis.display("Welcome to Lambda Tutorial by Edureka!"); } }
  • 10. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters Lambda Expressions can take parameters just like methods 1 2 3 Zero Parameters One Parameter Multiple Parameters
  • 11. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Zero Parameters One Parameter Multiple Parameters
  • 12. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Zero Parameters One Parameter Multiple Parameters () -> System.out.println("Zero parameter lambda");
  • 13. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Zero Parameters One Parameter Multiple Parameters () -> System.out.println("Zero parameter lambda"); (param) -> System.out.println("One parameter: " + param);
  • 14. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Zero Parameters One Parameter Multiple Parameters () -> System.out.println("Zero parameter lambda"); (param) -> System.out.println("One parameter: " + param); (p1, p2) -> System.out.println("Multiple parameters: " + p1 + ", " + p2);
  • 16. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda as an Object A Java lambda expression is essentially an object that can be assigned to a variable and passed around public interface LambdaComparator { public boolean compare(int a1, int a2); } LambdaComparator myComparator = (a1, a2) -> return a1 > a2; boolean result = myComparator.compare(2, 5); Interface Implementing class
  • 18. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Variable Capture Java lambda expression can access variables that are declared outside the lambda function body under certain circumstances 1 2 3 Local Variable Instance Variables Static Variables
  • 19. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Local Variable Instance Variables Static Variables
  • 20. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Local Variable String myStr = "Welcome to Edureka!"; MyLambda dis = (chars) -> { return myStr + ":" + new String(chars); }; Instance Variables Static Variables
  • 21. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Local Variable Instance Variables Static Variables public class LambdaStaticConsumerDemo { private String str = "Lambda Consumer"; public void attach(LambdaStaticProducerDemo eventProd){ eventProd.listen(e -> { System.out.println(this.str); }); } }
  • 22. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Lambda Parameters 1 2 3 Local Variable Instance Variables Static Variables public class LambdaStaticConsumerDemo { private static String myStaticVar = "Edureka!"; public void attach(LambdaStaticProducerDemo eventProd){ eventProd.listen(e -> { System.out.println(myStaticVar); }); } }
  • 24. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Method References Java lambda expression can access variables that are declared outside the lambda function body under certain circumstances Static Method Reference 1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference
  • 25. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Method References Static Method Reference 1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference
  • 26. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Class Lambda Expression Interface Method References - Static Static Method Reference1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference public interface Display { public int show(String s1, String s2); } public class Test{ public static int doShow(String s1, String s2){ return s1.lastIndexOf(s2); } } Display disp = Test::doShow;
  • 27. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Method References - Parameter Static Method Reference 1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference Interface public interface Display { public int show(String s1, String s2); } Lambda Expression Display disp = String::indexOf;
  • 28. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Method References - Instance Static Method Reference 1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference Interface public interface Deserializer { public int deserialize(String v1); } Class Lambda Expression public class StringConverter { public int convertToInt(String v1){ return Integer.valueOf(v1); } } StringConverter strConv = new StringConverter(); Deserializer deserializer = strConv::convertToInt;
  • 29. JAVA CERTIFICATION TRAINING www.edureka.co/java-j2ee-soa-training Method References - Constructor Static Method Reference 1 2 3 4 Parameter Method Reference Instance Method Reference Constructor Method Reference Interface public interface Factory { public String create(char[] val); } Lambda Expression Factory fact = String::new;