Comment trier les objets dans ArrayList par date en Java

Asad Riaz 12 octobre 2023
  1. Méthode comparable<> pour trier les objets dans ArrayList par dates en Java
  2. Méthode collections.sort() pour trier les objets dans ArrayList par date en Java
  3. Méthode list.sort() pour trier les objets dans ArrayList par date en Java
Comment trier les objets dans ArrayList 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]

Article connexe - Java ArrayList