

Here java 8 method as argument example or example of functional interface.
Table of Contents
FuncationDemo.java
package com.javadeveloperzone;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* Created by JavaDeveloperZone on 30-04-2017.
*/
public class FunctionDemo {
public static void main(String... args) {
java.util.List employees = Employee.getEmployee();
System.out.println("Print all male employee");
getEmployee(employees, employee ->
employee.getGender().equals("Male")
).forEach(System.out::println);
System.out.println("Print all female employee");
getEmployee(employees, employee ->
employee.getGender().equals("Female")
).forEach(System.out::println);
System.out.println("Print all male and developer employee");
getEmployee(employees, employee ->
employee.getGender().equals("Male") && employee.getDesignation().equals("Developer")
).forEach(System.out::println);
}
public static java.util.List<Employee> getEmployee(java.util.List<Employee> employees, Predicate<Employee> employeePredicate) {
return employees.stream().filter(employeePredicate).collect(Collectors.toList());
}
}
Employee.Java
package com.javadeveloperzone;
import java.util.ArrayList;
/**
* Created by JavaDeveloperZone on 29-04-2017.
*/
public class Employee {
private int no;
private String name;
private String designation;
private String gender;
public Employee(int no, String name, String designation, String gender) {
this.no = no;
this.name = name;
this.designation = designation;
this.gender = gender;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return this.no + " : " + this.name + " : " + gender + " : " + designation;
}
public static java.util.List<Employee> getEmployee() {
java.util.List<Employee> employees = new ArrayList<>();
employees.add(new Employee(1, "Bob", "Developer", "Male"));
employees.add(new Employee(2, "Joy", "Sr. Developer", "Male"));
employees.add(new Employee(3, "John", "CEO", "Male"));
employees.add(new Employee(4, "Bat", "Developer", "Male"));
employees.add(new Employee(5, "Jolly", "Developer", "Female"));
employees.add(new Employee(6, "Bobby", "Developer", "Female"));
return employees;
}
}
Output:
Print all male employee 1 : Bob : Male : Developer 2 : Joy : Male : Sr. Developer 3 : John : Male : CEO 4 : Bat : Male : Developer Print all female employee 5 : Jolly : Female : Developer 6 : Bobby : Female : Developer Print all male and developer employee 1 : Bob : Male : Developer 4 : Bat : Male : Developer
Was this post helpful?
Let us know if you liked the post. That’s the only way we can improve.
