如何在 Java 中按日期對 ArrayList 中的物件進行排序
Asad Riaz
2023年10月12日
Java
Java ArrayList
Java Sorting
-
Java 的
comparable<>方法按日期對ArrayList中的物件進行排序 -
Java 中的
collections.sort()方法按日期對 ArrayList 中的物件進行排序 -
在 Java 中
list.sort()方法按日期對ArrayList中的物件進行排序
在 Java 中,我們有多種方法可以按日期對 ArrayList 中的物件進行排序。這些排序可以基於日期或任何其他條件進行。例如,使用物件 comparable<>、Collections.sort() 和 list.sort() 方法。
Java 的 comparable<> 方法按日期對 ArrayList 中的物件進行排序
第一種方法通過使物件 comparable<> 以及使用類 compareTo(),compare() 和 collections.sort() 一起起作用。我們將建立一個新 DateItem 類,並實現 Comparator<DateItem> 介面以對陣列進行排序。
示例程式碼:
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); });
}
}
輸出:
2019-01-27
2020-02-26
2020-03-25
2020-03-26
Java 中的 collections.sort() 方法按日期對 ArrayList 中的物件進行排序
collections.sort() 方法可以在 ArrayList 中按日期進行排序。
示例程式碼:
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);
}
}
輸出:
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]
在 Java 中 list.sort() 方法按日期對 ArrayList 中的物件進行排序
Java 的 list.sort() 方法與 lambda 表示式結合使用,以對 ArrayList 中的日期進行排序。
示例程式碼:
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);
}
}
輸出:
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]
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe