CodesJava

Easy learning with example program codes

java 8 lambda expression comparator


Lambda expression is used to provide the implementation of functional interface. A Functional Interface is an interface with only single abstract method. In case of lambda expression, we don’t need to define the method again for providing the implementation so it saves lots of coding efforts.

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.codesjava;
 
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<Student> list=new ArrayList<Student>();  
 
	//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
Sign Up/ Sign In
Ask a Question


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki