我需要采取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