排序日期 - 用户输入

时间:2011-01-05 10:49:44

标签: java sorting date input

我正在使用Java创建一个交互式应用程序来询问用户的出生日期。在那一刻,我有一个日期被读入并存储为表格中的字符串(dd-mm-yyyy)。现在有多个人存储在一个arraylist中,所有人都有不同的出生日期。什么是根据出生日期对arraylist进行排序的最佳方式?

亲切的问候

5 个答案:

答案 0 :(得分:3)

首先将String转换为java.util.Date。日期与字符串有不同的排序语义。

一旦你这样做,写一个Comparator来为你完成这项工作。将它与List一起传递给Collections.sort()。

答案 1 :(得分:3)

您是在列表或日期中存储Person个对象吗?如果存储日期(java.util.Date),您只需对列表进行排序,它就可以正常运行。如果存储Person个对象,则可以传入排序实用程序将使用的自定义Comparator

参考文献:

答案 2 :(得分:2)

将日期存储在Date个对象中。它们可以开箱即用。或者,如果保持字符串足够,请从

更改日期格式
dd-mm-yyyy

yyyy-mm-dd

进行排序。

答案 3 :(得分:0)

Collections.sort(集合,比较器);

实施您的自定义比较器(界面java.util.Comparator),根据出生日期比较您的对象。

答案 4 :(得分:0)

堆栈溢流已经提供了一个链接:http://stackoverflow.com/questions/1517745/sorting-on-last-name