java 8 lambda expression comparator

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