簡體   English   中英

Java:使用sortOrder對列表列表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM