パラメータを含むを取得しArrayList<Conference> conferences、次のように並べ替える必要があります。まず、会議を の一意の月を表すバケットに分けてから、バケット内でそれ自体を並べ替えます。これは一般的なニーズだと確信しているので、ここの誰かがいくつかのヒントを持っていることを望んでいました.Conferencepublic Date beginDatebeginDatebeginDate
これに対する私の考えは次のとおりです。最適ではない理由を教えてください:)
- を作成します
HashMap<Date, ArrayList<Conference>>。 - 繰り返し
conferences、特別な静的関数を使用して、その月の最初の日を見つけ、そのためのbeginDateがあるかどうかを確認ArrayList<Conference>しDateます。ArrayList次に、それらをそのfor に追加しますDate( は同じであるため、すべて同じである必要がありますfirst_day_of_month(any_day_in_month)。 - の各
ArrayListメンバーを繰り返しHashMap処理し、標準の並べ替え手順を使用しArrayListて日付で並べ替えます。
これは必要以上に複雑に思えますが、なぜ悪いのか、どうすれば修正できるのか教えてください。
編集:また、それが重要な場合は、最終的にそれらすべてをコモンズウェアに追加する必要がありArrayListますArrayAdapter... MergeAdapter:(