Advertise with us

Sort ArrayList of custom Objects by property

Posted by  Mikki Halpin
 1589  View(s)
Rate this:
I read about sorting ArrayLists using a Comparator but in all of the examples people used compareTo which according to some research is a method for Strings.

I wanted to sort an ArrayList of custom objects by one of their properties: a Date object (getStartDay()). Normally I compare them by item1.getStartDate().before(item2.getStartDate()) so I was wondering whether I could write something like:
public class customComparator {
    public boolean compare(Object object1, Object object2) {
        return object1.getStartDate().before(object2.getStartDate());
public class randomName {
    Collections.sort(Database.arrayList, new customComparator);
  1. Re: Sort ArrayList of custom Objects by property

    With Java 8 you can use a method reference for your comparator:
    import static java.util.Comparator.comparing;
    Collections.sort(list, comparing(MyObject::getStartDate));\

    JAVA 8 lambda expression
    Collections.sort(studList, (Student s1, Student s2) ->{
            return s1.getFirstName().compareToIgnoreCase(s2.getFirstName());