我如何实现一个可以对日期/时间字符串列表进行排序的java比较器类?
像例如
我有
2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00
2012-06-08T00:00:00.000Z
然后它应该像这样排序
2012-06-08T00:00:00.000Z
2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00
我如何实现一个可以对日期/时间字符串列表进行排序的java比较器类?
像例如
我有
2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00
2012-06-08T00:00:00.000Z
然后它应该像这样排序
2012-06-08T00:00:00.000Z
2012-06-15T12:01:00.000+08:00
2012-06-25T12:15:00.000+08:00
这里有两个问题(因为直接解析字符串是行不通的)。
将它们解析为java.util.Date
. 日期已经实施Comparable
好吧,如果您想要一个快速的解决方案,如下所示。
http://www.ltg.ed.ac.uk/NITE/nxt/apidoc/net/sourceforge/nite/util/SortedList.html。
此外,如果您知道每个日期都会有所不同,那么请使用 TreeSet。您可以按如下方式使用它们。
制作一个新的 TreeSet 并继续在其中添加您的日期。它将自动排序,因为 TreeSet 对其包含的所有对象进行排序,如果它们实现了可比较(或提供了比较器)。