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.Collections;
import java.util.List;
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"));
System.out.println("Sorting on the basis of name...");
// implementing lambda expression
Collections.sort(list,(p1,p2)->{
return p1.name.compareTo(p2.name);
});
for(Student student:list){
System.out.println(student.rollNo+" "+student.name);
}
}
}
Output
Sorting on the basis of name... 2 Amani 1 Nidhi 3 Parbhjot