define the comparison function in the call to sort:
BGGA:
void sortBySalary(Collection<Employee> employees) {
sort(employees,
{
Employee e1, Employee e2
=> e1.getSalary().compareTo(e2.getSalary())
}
);
}
FCM:
void sortBySalary(Collection<Employee> employees) {
Collections.sort(employees,
#(Employee e1, Employee e2) {
return e1.getSalary().compareTo(e2.getSalary());
}
);
}
CICE:
void sortBySalary(Collection<Employee> employees) {
Collections.sort(employees,
Comparator<Employee>(Employee e1, Employee e2) {
return e1.getSalary().compareTo(e2.getSalary());
}
);
}
First class functions:
void sortBySalary(Collection<Employee> employees) {
Function f = this.class.compare();
Collections.sort(employees, f);
}
int compare(Employee e1, Employee e2) {
return e1.getSalary().compareTo(e2.getSalary());
}