Skip to content

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);
    }
}