packagecom.qhong;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;import static com.qhong.EmployeePredicates.*;public classMain {public static void main(String[] args) throwsException {
Employee e1= new Employee(1,23,"M","Rick","Beethovan");
Employee e2= new Employee(2,13,"F","Martina","Hengis");
Employee e3= new Employee(3,43,"M","Ricky","Martin");
Employee e4= new Employee(4,26,"M","Jon","Lowman");
Employee e5= new Employee(5,19,"F","Cristine","Maria");
Employee e6= new Employee(6,15,"M","David","Feezor");
Employee e7= new Employee(7,68,"F","Melissa","Roy");
Employee e8= new Employee(8,79,"M","Alex","Gussin");
Employee e9= new Employee(9,15,"F","Neetu","Singh");
Employee e10= new Employee(10,45,"M","Naveen","Jain");
List employees = new ArrayList();
employees.addAll(Arrays.asList(newEmployee[]{e1,e2,e3,e4,e5,e6,e7,e8,e9,e10}));
System.out.println(filterEmployees(employees, isAdultMale()));
System.out.println(filterEmployees(employees, isAdultFemale()));
System.out.println(filterEmployees(employees, isAgeMoreThan(35)));//Employees other than above collection of "isAgeMoreThan(35)" can be get using negate()
System.out.println(filterEmployees(employees, isAgeMoreThan(35).negate()));
}
}classEmployee {publicEmployee(Integer id, Integer age, String gender, String fName, String lName){this.id =id;this.age =age;this.gender =gender;this.firstName =fName;this.lastName =lName;
}publicInteger getId() {returnid;
}public voidsetId(Integer id) {this.id =id;
}publicInteger getAge() {returnage;
}public voidsetAge(Integer age) {this.age =age;
}publicString getGender() {returngender;
}public voidsetGender(String gender) {this.gender =gender;
}publicString getFirstName() {returnfirstName;
}public voidsetFirstName(String firstName) {this.firstName =firstName;
}publicString getLastName() {returnlastName;
}public voidsetLastName(String lastName) {this.lastName =lastName;
}privateInteger id;privateInteger age;privateString gender;privateString firstName;privateString lastName;//Please generate Getter and Setters
@OverridepublicString toString() {return this.id.toString()+" - "+this.age.toString(); //To change body of generated methods, choose Tools | Templates.
}
}