Ordina gli oggetti in ArrayList per data in Java
-
Metodo
comparable<>
per ordinare gli oggetti inArrayList
per date in Java -
Metodo
collections.sort()
per ordinare gli oggetti in ArrayList per data in Java -
Metodo
list.sort()
per ordinare gli oggetti inArrayList
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]