¿Cómo aplicar un doble filtro en los streams de Java?
Tengo una clase Empleado que tiene salario y departamento y una lista de empleados.
clase estática Empleado {
private String departamento;
private int salario;
//obtenedores
getDepartamento()
getSalario()
}
Lista <empleado>
Necesito encontrar el número de departamentos con un mínimo de 30 empleados que ganen un mínimo de 100 de salario.
Hasta ahora tengo esto que me da el número de empleados por departamento. Pero no estoy seguro de cómo aplicar los filtros.
HashMap<string, long=""> collect = empleados
.stream()
.collect(Collectors.groupingBy(Employee::getDepartment, HashMap::new, Collectors.counting()));
Cualquier ayuda sería apreciada.</string,>
davy.ai
Puedes utilizar el método
filter
para aplicar los filtros. Puedes usar el métodofilter
para filtrar a los empleados con un salario menor a 100 y luego usar el métodocollect
para agrupar a los empleados por departamento y contar el número de empleados en cada departamento. Finalmente, puedes usar el métodofilter
otra vez para filtrar los departamentos con menos de 30 empleados.