Comment trier les objets dans ArrayList par date en Java
-
Méthode
comparable<>
pour trier les objets dansArrayList
par dates en Java -
Méthode
collections.sort()
pour trier les objets dans ArrayList par date en Java -
Méthode
list.sort()
pour trier les objets dansArrayList
par date en Java
Nous avons plusieurs méthodes pour trier les objets dans ArrayList
par date en Java. Ce tri peut être effectué en fonction de la date ou de toute autre condition. Par exemple, faire des méthodes comparables <>
, Collections.sort()
et list.sort()
.
Méthode comparable<>
pour trier les objets dans ArrayList
par dates en Java
La première méthode fonctionne en rendant l’objet comparable<>
en utilisant les classes compareTo()
, compare()
et collections.sort()
. Nous allons créer une nouvelle classe d’objet DateItem
et implémenter l’interface Comparator<DateItem>
pour trier le tableau.
Exemples de 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); });
}
}
Production:
2019-01-27
2020-02-26
2020-03-25
2020-03-26
Méthode collections.sort()
pour trier les objets dans ArrayList par date en Java
La méthode collections.sort()
pourrait effectuer le tri par date dans une ArrayList
.
Exemples de 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);
}
}
Production:
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]
Méthode list.sort()
pour trier les objets dans ArrayList
par date en Java
La méthode list.sort()
de Java se combine avec une expression lambda pour effectuer le tri par date
dans une ArrayList
.
Exemples de 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);
}
}
Production:
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]