Lambda expression is used to provide the implementation of functional interface.
Java Lambda Expression Syntax
(argument-list) -> {function-body}
Where:
Argument-list: It can be empty or non-empty as well.
Arrow notation/lambda notation: It is used to link arguments-list and body of expression.
Function-body: It contains expressions and statements for lambda expression.
Example
package com.w3schools;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
class Student{
int rollNo;
String name;
public Student(int rollNo, String name){
super();
this.rollNo = rollNo;
this.name = name;
}
}
public class LambdaExpressionExample {
public static void main(String args[]){
List list=new ArrayList();
//Adding Students
list.add(new Student(1,"Nidhi"));
list.add(new Student(3,"Parbhjot"));
list.add(new Student(2,"Amani"));
// using lambda to filter data
Stream filtered_data = list.stream().filter(s -> s.rollNo > 2);
// using lambda to iterate through collection
filtered_data.forEach(
student -> System.out.println(student.name)
);
}
}
Output
Parbhjot