我正在使用Java創建一個交互式應用程序來詢問用戶的出生日期。在那一刻我有一個日期被讀入並以(dd-mm-yyyy)的形式存儲爲字符串。現在有多個人被儲存在一個數組列表中,所有的出生日期都不同。根據他們的出生日期排列數據列表的最佳方法是什麼?排序日期 - 用戶輸入
親切的問候
我正在使用Java創建一個交互式應用程序來詢問用戶的出生日期。在那一刻我有一個日期被讀入並以(dd-mm-yyyy)的形式存儲爲字符串。現在有多個人被儲存在一個數組列表中,所有的出生日期都不同。根據他們的出生日期排列數據列表的最佳方法是什麼?排序日期 - 用戶輸入
親切的問候
您是否在列表中存儲了Person
對象?如果存儲日期(java.util.Date
),您可以簡單地對列表進行排序,它應該適合您。如果您存儲Person
對象,則可以傳入將由分類實用程序使用的自定義Comparator
。
參考文獻:
首先將字符串轉換爲java.util.Date。日期有不同的語義排序比字符串。
一旦你這樣做,寫一個比較器來爲你做這項工作。將它與列表一起傳遞給Collections.sort()。
... – jzd 2011-01-05 12:23:54
你是對的,謝謝。我編輯了我的答案。 (當我寫它時,沒有喝過咖啡。) – duffymo 2011-01-05 12:27:28
謝謝!有效! – user559142 2011-01-05 13:59:19
存放在Date
對象的日期。他們是可以開箱的。或者,如果它足以讓字符串,日期格式從
dd-mm-yyyy
改變
yyyy-mm-dd
排序。
感謝您的建議!得到它與您的答案一起工作 – user559142 2011-01-05 14:00:05
Collections.sort(collection,comparator);
實現您的自定義比較器(界面java.util.Comparator
),根據出生日期比較您的對象。
有一個在堆棧上的流動已經提供了一個鏈接:http:我想你指的是「日期」有不同的語義//stackoverflow.com/questions/1517745/sorting-on-last-name
嗨,我將個人對象存儲在列表中。感謝您的回覆 – user559142 2011-01-05 11:02:04
然後只需在自定義的「比較器」中提供,您應該很好。祝你好運。 – 2011-01-05 11:27:17
排序 - 乾杯! – user559142 2011-01-05 13:58:52