How to Sort a List in Java by Date


To sort a list of objects by date in Java, we need to make use of the Collections.sort() method along with a custom Comparator.

Sort by LocalDate:

Collections.sort(employees, Comparator.comparing(Employee::getDateOfBirth));

Example:

package org.code2care.examples;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Employee {

    private String name;
    private LocalDate dateOfBirth;

    public Employee(String name, LocalDate dateOfBirth) {
        this.name = name;
        this.dateOfBirth = dateOfBirth;
    }

    public String getName() {
        return name;
    }

    public LocalDate getDateOfBirth() {
        return dateOfBirth;
    }

    public static void main(String[] args) {
        List<Employee> employees = new ArrayList<>();

        employees.add(new Employee("Mike", LocalDate.of(1990, 4, 1)));
        employees.add(new Employee("Sam", LocalDate.of(1985, 6, 5)));
        employees.add(new Employee("Andy", LocalDate.of(1980, 9, 20)));
        employees.add(new Employee("Andrew", LocalDate.of(1950, 12, 25)));
        employees.add(new Employee("Eric", LocalDate.of(1995, 11, 12)));

        Collections.sort(employees, Comparator.comparing(Employee::getDateOfBirth));

        for (Employee employee : employees) {
            System.out.println(employee.getName() + " - DoB: " + employee.getDateOfBirth());
        }
    }
}
Output:
Java Sort List by Date (LocalDate)

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap