Como ordenar os objetos na ArrayList por data em Java
-
comparable<>
Método para ordenar os objetos emArrayList
por datas em Java -
collections.sort()
Método para ordenar os objetos em ArrayList por data em Java -
list.sort()
Método para ordenar os objetos emArrayList
por data em Java
Temos vários métodos para ordenar objetos em ArrayList
por data em Java. Esta ordenação pode ser feita com base na data ou em qualquer outra condição. Por exemplo, tornando os métodos comparable<>
, Collections.sort()
e list.sort()
.
comparable<>
Método para ordenar os objetos em ArrayList
por datas em Java
O primeiro método funciona tornando o objeto comparable<>
junto com a utilização das classes compareTo()
, compare()
e collections.sort()
. Vamos criar uma nova classe de objeto DateItem
e implementar a interface Comparator<DateItem>
para ordenar o array.
Códigos de exemplo:
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); });
}
}
Resultado:
2019-01-27
2020-02-26
2020-03-25
2020-03-26
collections.sort()
Método para ordenar os objetos em ArrayList por data em Java
O método collections.sort()
poderia realizar a ordenação por data em uma ArrayList
.
Códigos de exemplo:
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);
}
}
Resultado:
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()
Método para ordenar os objetos em ArrayList
por data em Java
O método list.sort()
de Java combina com uma expressão lambda para realizar a ordenação por date
em uma ArrayList
.
Códigos de exemplo:
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);
}
}
Resultado:
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]