Ordina gli oggetti in ArrayList per data in Java

Asad Riaz 12 ottobre 2023
  1. Metodo comparable<> per ordinare gli oggetti in ArrayList per date in Java
  2. Metodo collections.sort() per ordinare gli oggetti in ArrayList per data in Java
  3. Metodo list.sort() per ordinare gli oggetti in ArrayList per data in Java
Ordina gli oggetti in ArrayList per data in Java

Abbiamo più metodi per ordinare gli oggetti in ArrayList per data in Java. Questi ordinamenti possono essere effettuati in base alla data o a qualsiasi altra condizione. Ad esempio, rendendo gli oggetti comparable<>, Collections.sort() e list.sort().

Metodo comparable<> per ordinare gli oggetti in ArrayList per date in Java

Il primo metodo funziona rendendo l’oggetto comparable<> insieme all’utilizzo delle classi compareTo(), compare() e collections.sort(). Creeremo una nuova classe dell’oggetto DateItem e implementeremo l’interfaccia Comparator<DateItem> per ordinare l’array.

Codici di esempio:

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); });
  }
}

Produzione:

2019-01-27
2020-02-26
2020-03-25
2020-03-26 

Metodo collections.sort() per ordinare gli oggetti in ArrayList per data in Java

Il metodo collections.sort() potrebbe eseguire l’ordinamento per data in un ArrayList.

Codici di esempio:

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);
  }
}

Produzione:

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]

Metodo list.sort() per ordinare gli oggetti in ArrayList per data in Java

Il metodo list.sort() di Java si combina con un’espressione lambda per eseguire l’ordinamento per date in un ArrayList.

Codici di esempio:

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);
  }
}

Produzione:

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]

Articolo correlato - Java ArrayList