|
|
How to return lambda as an object?
A lambda expression is an instance of a functional interface, which is itself a subtype of Object.
This example shows how to retrieve lambda as an object.
package com.java2novice.lambda;
public class Employee {
private String name;
private String account;
private Integer salary;
public Employee(String name, String account, Integer salary) {
super();
this.name = name;
this.account = account;
this.salary = salary;
}
@Override
public String toString() {
return "name: "+ this.name +" | account: "+ this.account +" | salary: "+this.salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public Integer getSalary() {
return salary;
}
public void setSalary(Integer salary) {
this.salary = salary;
}
}
|
package com.java2novice.lambda;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class LambdaAsObjectEx {
public static void main(String a[]) {
List<Employee> empList = new ArrayList<>();
empList.add(new Employee("Nataraja G", "Accounts", 8000));
empList.add(new Employee("Nagesh Y", "Admin", 15000));
empList.add(new Employee("Vasu V", "Security", 2500));
empList.add(new Employee("Amar", "Entertainment", 8500));
LambdaAsObjectEx.sortInLambdaWay(empList);
}
public static void sortInLambdaWay(List<Employee> empList) {
Comparator<Employee> cmpDesc = (Employee e1, Employee e2) -> e2.getSalary().compareTo(e1.getSalary());
Collections.sort(empList, cmpDesc);
System.out.println("<--- Sorted list with Lambda - DESC order --->");
empList.forEach(emp->System.out.println(emp.toString()));
Comparator<Employee> cmpAsc = (Employee e1, Employee e2) -> e1.getSalary().compareTo(e2.getSalary());
Collections.sort(empList, cmpAsc);
System.out.println("\n\n<--- Sorted list with Lambda - ASC order --->");
empList.forEach(emp->System.out.println(emp.toString()));
}
}
|
|
Output: |
<--- Sorted list with Lambda - DESC order --->
name: Nagesh Y | account: Admin | salary: 15000
name: Amar | account: Entertainment | salary: 8500
name: Nataraja G | account: Accounts | salary: 8000
name: Vasu V | account: Security | salary: 2500
<--- Sorted list with Lambda - ASC order --->
name: Vasu V | account: Security | salary: 2500
name: Nataraja G | account: Accounts | salary: 8000
name: Amar | account: Entertainment | salary: 8500
name: Nagesh Y | account: Admin | salary: 15000
|
|
|
|
|
Java-8 Lambda expression examples
- Lambda expression syntax example
- Lambda example with single method interface implementation.
- Comparator example with Lambda implementation.
- How to return lambda as an object?
|
|
Different types of Access Modifiers
public: Any thing declared as public can be accessed from anywhere.
private: Any thing declared as private can't be seen outside of its class.
protected: Any thing declared as protected can be accessed by classes in the same package and subclasses in the other packages.
default modifier: Can be accessed only to classes in the same package.
When I do good, I feel good; when I do bad, I feel bad, and that is my religion.
-- Abraham Lincoln
|