Tuesday, 22 August 2023

java8 classic code optimization example

 

public boolean changeEmployeeProject(ChangeEmployeeProjectPayload changeEmployeeProjectPayload) {
List<EmployeesProjectRowMapper> employeesProjectRowMappers = employeeDao.fetchEmployeeProjectAssignment(changeEmployeeProjectPayload.getEmployee_ids());
if (!employeesProjectRowMappers.isEmpty()) {
Map<Integer, List<EmployeesProjectRowMapper>> employeeWithProjects = employeesProjectRowMappers.stream().collect(Collectors.groupingBy(e -> e.getEmployee_id()));
Map<Integer, List<Integer>> employeeWithProject = new HashMap<>();
employeeWithProjects.entrySet().stream().forEach(emp -> {
employeeWithProject.put(emp.getKey(), emp.getValue().stream().map(e -> e.getProject_id()).collect(Collectors.toList()));
});
System.out.println("code---" + employeeWithProjects);
System.out.println("pawan----" + employeeWithProject);
}


if (!employeesProjectRowMappers.isEmpty()) {
Map<Integer, List<Integer>> employeeWithProject = employeesProjectRowMappers.stream()
.collect(Collectors.groupingBy(
EmployeesProjectRowMapper::getEmployee_id,
Collectors.mapping(EmployeesProjectRowMapper::getProject_id, Collectors.toList())
));

System.out.println("employeeWithProjects: " + employeeWithProject);
}

return true;
}

No comments:

Post a Comment