0 java sorting comparable comparator
是否可以首先按员工对象的工资对员工对象进行排序,如果两个对象的工资相等,然后使用比较器和比较器接口按名称对它们进行比较?
例如,我有一个 Employee 类,如下所示
public class Employee{
private int salary;
private int name;
public Employee(salary,name){
this.salary = salary;
this.name = name;
}
//...........getter methods...........
}
Run Code Online (Sandbox Code Playgroud)
现在假设我们有一个 Employee 对象列表,其中包含一些工资金额和姓名。我想使用比较器或类似的接口,并以这样的方式对列表进行排序:列表根据薪水排序,如果薪水相同,那么在这种情况下,这两个 Employee 对象必须按其名称排序。有人可以告诉我是否可能吗?代码片段将不胜感激。
Java 8 使这变得非常简单:
List<Employee> list = ...
list.sort(Comparator.comparing(Employee::getSalary).thenComparing(Employee::getName));
Run Code Online (Sandbox Code Playgroud)