CompareToUsage
Usage
Employee p1 = new Employee("Swapnil 1", 30);
Employee p2 = new Employee("Swapnil 2", 22);
Employee p3 = new Employee("Swapnil 3", 29);
List<Employee> list = new ArrayList<>();
list.add(p1);
list.add(p2);
list.add(p3);
Collections.sort(list, (a, b) -> {
if (a.age > b.age)
return -1;
if (a.age < b.age)
return 1;
return 0;
});
System.out.println(list.size());
list.stream().forEach(p -> System.out.println(p.name));
Employee
class Employee implements Comparable<Employee> {
String name;
int age;
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Employee p) {
return Integer.compare(age, p.age);
}
}