简体   繁体   中英

Java: sort a list of lists with sortOrder

I'm working on sorting of list of lists and below is my current code snippet

I have employee POJO as like below

List<Employee> employeesList = new ArrayList<Employee>();
employeesList.add(employee01);
employeesList.add(employee02);

Now i have employee POJO contains

private int employeeId;
private String employeeName;
private List<EmployeeProgram> employeePrgoram = new ArrayList<EmployeeProgram>();
private int sortOrder;

Now, EmployeeProgram object contains

private int programId;
private String programName;
private int programCount;
private int sortOrder;

Now, i want to assign sortOrder for "Employee" as well as "EmployeeProgram"

I know collections.sort with Comparator works. but not sure how it can be ?

Help me in this context. Thanks in advance.

You can implement Comparable interface then override compareTo method as follow

public int compareTo(Employee emp){  
  if(sortOrder==emp.sortOrder)  
    return 0;  
  else if(sortOrder>emp.sortOrder)  
    return 1;  
  else  
    return -1;  
}  

repeat same for EmployeeProgram class and override this method

public int compareTo(EmployeeProgram empProg){  
  if(sortOrder==empProg.sortOrder)  
    return 0;  
  else if(sortOrder>empProg.sortOrder)  
    return 1;  
  else  
    return -1;  
} 

and use

Collection.sort(employeesList);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM