我有一种情况,我必须创建一个有员工的公司,每个员工都进入一个部门。之后,我必须展示每个部门的每一位员工。如果emp1在"经济"部门,emp2在经济"和emp3在"管理" 。我需要显示经济部门:emp1 emp2和管理部门:emp3。
我第一次创建一个包含部门的数组。
String[] deps = {"Economy", "Management"};
ArrayList<Employee> emps = new ArrayList<>();
emp1 = new Employee("fistname","lastname",deps[1]);
//deps[1] - "Management"
for(Employee e : emps){
if(e.getDepartment() == deps[1]){
System.out.println(e);
}
}
这不起作用。有人告诉我,我必须使用Set或HashSet作为departments数组。
答案 0 :(得分:1)
您不必使用Set,但这是可能的。 如果您希望代码以您建议的方式显示,您可以尝试:
String[] deps = {"Economy", "Management"};
ArrayList<Employee> emps = new ArrayList<>();
emp1 = new Employee("fistname","lastname",deps[1]);
//deps[1] - "Management"
for (int i = 0; i < deps.length; i++){
System.out.println(deps[i] + " departement:");
int count = 0;
for(Employee e : emps){
if(e.getDepartment().equals(deps[i])){
System.out.println(e);
count++;
}
}
System.println(count + " employes in this department");
}
答案 1 :(得分:0)
我们可以使用map和linkedHashSet来执行这些操作 内部地图使用linkedHashSet