[英]Java: sort a list of lists with sortOrder
我正在對列表列表進行排序,下面是我當前的代碼片段
我有員工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;
現在,我想為“ Employee”以及“ EmployeeProgram”分配sortOrder
我知道使用Comparator的collections.sort可以工作。 但不確定如何?
在這種情況下幫助我。 提前致謝。
您可以實現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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.