职工管理系统中,如何实现统计不同部门的人数。给出代码
实现
// 使用 Java 编写代码
public class DepartmentStatistics {
// 定义一个 Map 用来保存部门及其人数的映射关系
private Map<String, Integer> departmentAndNumMap;
public DepartmentStatistics(){
this.departmentAndNumMap = new HashMap<>();
}
// 遍历职工集合,分别计算每个部门的人数,将结果保存到 Map 中
public void count(List<Employee> employees){
for(Employee employee : employees){
String department = employee.getDepartment();
if (departmentAndNumMap.containsKey(department)){
Integer num = departmentAndNumMap.get(department); // 获取当前部门已有的人数
num += 1; // 更新人数值+1;
departmentAndNumMap.put(department, num); // 更新 Map 中该部门的人数值;
}else { // 如果不包含当前部门键,则将该部门以及对应的1个人加入 map 中。
departmentAndNumMap.put(department, 1); } } }
public void showResult(){
for (String key : departmentAndNumMap.keySet()){ // 遍历 map ,输出所有部门及其对应的员工总数。 System.out.println("" + key + ": " + departmentAndNumMap.get(key) + ""); } }}
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。