我正在对列表列表进行排序,下面是我当前的代码段
我有员工POJO,如下所示
List<Employee> employeesList = new ArrayList<Employee>();
employeesList.add(employee01);
employeesList.add(employee02);
现在我有员工POJO包含
private int employeeId;
private String employeeName;
private List<EmployeeProgram> employeePrgoram = new ArrayList<EmployeeProgram>();
private int sortOrder;
现在,EmployeeProgram对象包含
private int programId;
private String programName;
private int programCount;
private int sortOrder;
现在,我想为“员工”以及“EmployeeProgram”分配sortOrder
我知道collections.sort与Comparator有效。但不确定它是怎么回事?
在这种情况下帮助我。提前谢谢。
答案 0 :(得分:0)
您可以实现Comparable接口,然后覆盖compareTo方法,如下所示
public int compareTo(Employee emp){
if(sortOrder==emp.sortOrder)
return 0;
else if(sortOrder>emp.sortOrder)
return 1;
else
return -1;
}
为EmployeeProgram类重复相同的操作 并覆盖此方法
public int compareTo(EmployeeProgram empProg){
if(sortOrder==empProg.sortOrder)
return 0;
else if(sortOrder>empProg.sortOrder)
return 1;
else
return -1;
}
并使用
Collection.sort(employeesList);