如何使用set或hashset

时间:2014-06-03 08:12:18

标签: java set hashset

我有一种情况,我必须创建一个有员工的公司,每个员工都进入一个部门。之后,我必须展示每个部门的每一位员工。如果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数组。

2 个答案:

答案 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