How to Sort Objects in ArrayList by Date in Java
Asad Riaz
Feb 02, 2024
Java
Java ArrayList
Java Sorting
-
comparable<>
Method to Sort Objects inArrayList
by Dates in Java -
collections.sort()
Method to Sort Objects in ArrayList by Date in Java -
list.sort()
Method to Sort Objects inArrayList
by Date in Java
![How to Sort Objects in ArrayList by Date in Java](/img/Java/feature-image---How-to-Sort-objects-in-ArrayList-by-date-in-Java.webp)
We have multiple methods to sort objects in ArrayList
by date in Java. These sorting can be done based on the date or any other condition. For example, making object comparable<>
, Collections.sort()
and list.sort()
methods.
comparable<>
Method to Sort Objects in ArrayList
by Dates in Java
The first method works by making the object comparable<>
along with using classes compareTo()
, compare()
and collections.sort()
. We will create a new class of DateItem
object and implement Comparator<DateItem>
interface to sort the array.
Example Codes:
import java.util.*;
public class SimpleTesing {
static class DateItem {
String datetime;
DateItem(String date) {
this.datetime = date;
}
}
static class SortByDate implements Comparator<DateItem> {
@Override
public int compare(DateItem a, DateItem b) {
return a.datetime.compareTo(b.datetime);
}
}
public static void main(String args[]) {
List<DateItem> dateList = new ArrayList<>();
dateList.add(new DateItem("2020-03-25"));
dateList.add(new DateItem("2019-01-27"));
dateList.add(new DateItem("2020-03-26"));
dateList.add(new DateItem("2020-02-26"));
Collections.sort(dateList, new SortByDate());
dateList.forEach(date -> { System.out.println(date.datetime); });
}
}
Output:
2019-01-27
2020-02-26
2020-03-25
2020-03-26
collections.sort()
Method to Sort Objects in ArrayList by Date in Java
The collections.sort()
method could perform the sorting by date in an ArrayList
.
Example Codes:
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
List<String> dateArray = new ArrayList<String>();
dateArray.add("2020-03-25");
dateArray.add("2019-01-27");
dateArray.add("2020-03-26");
dateArray.add("2020-02-26");
System.out.println("The Object before sorting is : " + dateArray);
Collections.sort(dateArray);
System.out.println("The Object after sorting is : " + dateArray);
}
}
Output:
The Object before sorting is : [2020-03-25, 2019-01-27, 2020-03-26, 2020-02-26]
The Object after sorting is : [2019-01-27, 2020-02-26, 2020-03-25, 2020-03-26]
list.sort()
Method to Sort Objects in ArrayList
by Date in Java
The list.sort()
method of Java combines with a lambda expression to perform the sorting by date
in an ArrayList
.
Example Codes:
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
List<String> dateArray = new ArrayList<String>();
dateArray.add("2020-03-25");
dateArray.add("2019-01-27");
dateArray.add("2020-03-26");
dateArray.add("2020-02-26");
System.out.println("The Object before sorting is : " + dateArray);
dateArray.sort((d1, d2) -> d1.compareTo(d2));
System.out.println("The Object after sorting is : " + dateArray);
}
}
Output:
The Object before sorting is : [2020-03-25, 2019-01-27, 2020-03-26, 2020-02-26]
The Object after sorting is : [2019-01-27, 2020-02-26, 2020-03-25, 2020-03-26]
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe