我需要採取ArrayList<Conference> conferences
,其中Conference
包含public Date beginDate
參數,並按如下方式排序:首先,將單獨的會議分成代表beginDate
的唯一月份的桶,以及然後在桶內排序beginDate
本身。我相信這是一個普遍的需要,所以我希望這裏有人會有一些提示。用於將Java對象排序成桶的算法,然後在桶內排序
我的想法如下。請告訴我爲什麼這是次優:) :)
- 創建一個
HashMap<Date, ArrayList<Conference>>
。 - 迭代
conferences
並使用特殊的靜態函數查找它們的beginDate
的月份的第一天,檢查是否有ArrayList<Conference>
用於該Date
。然後將它們添加到ArrayList
爲Date
(它都應該是相同的,因爲first_day_of_month(any_day_in_month)
是相同的。 - 遍歷
HashMap
的每個ArrayList
構件和使用一個標準的排序過程按照日期到ArrayList
排序。
這似乎不是必需的更復雜,但請讓我知道爲什麼它是壞的,什麼可以做修復它
編輯:另外,如果它很重要,我最終需要所有這些ArrayList
的加回將會進入的ArrayAdapter
commonsware's MergeAdapter
... :(
我必須說我最終在一個完全無關的領域做了完全相同的事情。 'HashMap >>'。它工作得很好,即使每次添加新條目時都需要遍歷BigDecimal鍵,以確保我不會重複一個值。 –
Sheriff