Java 中排序日期

2025年5月13日 | 阅读 4 分钟

Collection 类中 Comparator 机制的一部分 sort() 方法,用于按降序对数据进行排序。

如果我们希望在通用场景下实现此目标,同时考虑要排序的对象是用户定义的边界条件,我们可以使用 Comparator 接口。下面将讨论这两种方法,其中用户定义的类型也用于生成对象。

在 Java 中,有多种方法可以按日期对 ArrayList 进行排序。可以通过使用 Comparable<> 接口或 Collections.sort() 方法来完成;我们可以使用以下任何一种方法。

  1. Comparator 接口
  2. sort() 方法

1. Comparator 接口

使用 Comparator 接口按日期对 ArrayList 元素进行排序的 Java 程序。

SortDate1.java

输出

Dates sorted in Ascending Order
1998-02-20
1999-04-26
2019-06-24
2021-05-14

让我们看另一个例子。

SortDate2.java

输出

Dates sorted in Descending Order
2021-05-14
2019-06-24
1999-04-26
1998-02-20

2. sort() 方法

使用 Collections.sort() 方法按日期对 ArrayList 元素进行排序的 Java 程序

SortDate3.java

输出

Dates Object before sorting: 
2020-03-25
2019-01-27
2020-03-26
2020-02-26
Dates Object after sorting: 
2019-01-27
2020-02-26
2020-03-25
2020-03-26

SortDate4.java

输出

---> Date & Time Object List Before Sort (MM/dd/yyyy '@'hh:mm a)
05/12/2012 @05:16 AM
03/23/2014 @11:26 AM
02/13/2011 @09:36 AM
11/12/2013 @05:16 AM
08/11/2017 @09:26 PM
09/05/2016 @07:36 PM
---> Date & Time Object List After Sort (MM/dd/yyyy '@'hh:mm a)
02/13/2011 @09:36 AM
05/12/2012 @05:16 AM
11/12/2013 @05:16 AM
03/23/2014 @11:26 AM
09/05/2016 @07:36 PM
08/11/2017 @09:26 PM
---> Date & Time List Before Sort (MM/dd/yyyy '@'hh:mm a)
01/21/2014 @03:13 PM
01/21/2011 @04:37 PM
01/21/2012 @10:41 AM
01/21/2013 @10:48 AM
01/22/2015 @06:16 AM
01/22/2013 @06:19 AM
01/21/2018 @05:19 PM
01/21/2013 @05:19 PM
---> Date & Time List After Sort (MM/dd/yyyy '@'hh:mm a)
01/21/2011 @04:37 PM
01/21/2012 @10:41 AM
01/21/2013 @10:48 AM
01/21/2013 @05:19 PM
01/22/2013 @06:19 AM
01/21/2014 @03:13 PM
01/22/2015 @06:16 AM
01/21/2018 @05:19 PM