2011-01-05 50 views
1

我正在使用Java創建一個交互式應用程序來詢問用戶的出生日期。在那一刻我有一個日期被讀入並以(dd-mm-yyyy)的形式存儲爲字符串。現在有多個人被儲存在一個數組列表中,所有的出生日期都不同。根據他們的出生日期排列數據列表的最佳方法是什麼?排序日期 - 用戶輸入

親切的問候

回答

3

您是否在列表中存儲了Person對象?如果存儲日期(java.util.Date),您可以簡單地對列表進行排序,它應該適合您。如果您存儲Person對象,則可以傳入將由分類實用程序使用的自定義Comparator

參考文獻:

+0

嗨,我將個人對象存儲在列表中。感謝您的回覆 – user559142 2011-01-05 11:02:04

+0

然後只需在自定義的「比較器」中提供,您應該很好。祝你好運。 – 2011-01-05 11:27:17

+0

排序 - 乾杯! – user559142 2011-01-05 13:58:52

3

首先將字符串轉換爲java.util.Date。日期有不同的語義排序比字符串。

一旦你這樣做,寫一個比較器來爲你做這項工作。將它與列表一起傳遞給Collections.sort()。

+0

... – jzd 2011-01-05 12:23:54

+0

你是對的,謝謝。我編輯了我的答案。 (當我寫它時,沒有喝過咖啡。) – duffymo 2011-01-05 12:27:28

+0

謝謝!有效! – user559142 2011-01-05 13:59:19

2

存放在Date對象的日期。他們是可以開箱的。或者,如果它足以讓字符串,日期格式從

dd-mm-yyyy 

改變

yyyy-mm-dd 

排序。

+0

感謝您的建議!得到它與您的答案一起工作 – user559142 2011-01-05 14:00:05

0

Collections.sort(collection,comparator);

實現您的自定義比較器(界面java.util.Comparator),根據出生日期比較您的對象。

0

有一個在堆棧上的流動已經提供了一個鏈接:http:我想你指的是「日期」有不同的語義//stackoverflow.com/questions/1517745/sorting-on-last-name