比方說,我有一個List
Employee
對象。 Employee
對象有一個getDepartment
方法,該方法返回一個Department
對象。我想遍歷該列表以找到最多Employee
的部門(即Department
對象最常從getDepartment
返回)。什麼是最快的方法來做到這一點?從列表中找到最常見的對象
public class Employee{
static allEmployees = new ArrayList<Employee>();
int id;
Department department;
public Employee(int id, Department department){
this.id = id;
this.department = department;
allEmployees.add(this);
}
public Department getDepartment(){
return department;
}
public static List<Employee> getAllEmployees(){
return allEmployees;
}
}
public class Department{
int id;
String name;
public Department(int id){
this.id = id;
}
public String getName(){
return name;
}
}
如果有兩個員工人數相同的部門,則返回哪個並不重要。
謝謝!
我想過,我是想知道Java中是否有一個地圖數據結構可以跟蹤最高的Entry值。你知道嗎? – Adam 2011-02-22 22:36:58
@adam,我不知道任何,儘管你可以保持一個單獨的引用與最高的計數Map.Entry。或者你可以寫你自己的類來封裝這個功能。 – hvgotcodes 2011-02-22 22:40:05
不是我所知道的,但是如果你真的想這麼做,那麼你可以擴展HashMap類......這可能會超出你程序的範圍。 – donnyton 2011-02-22 22:41:30