期間(開始、終了)によって定義され、複雑な計算結果を保持するこの期間のカウンターとなるデータ構造のセットを格納する必要があります。データ構造の簡略化された定義は次のとおりです。
public class CounterBag {
private Period period; // collection key
private Counter counter;
// accessors
// ...
}
これPeriodは次のように単純です。
public class Period {
public DateTime start;
public DateTime end;
// accessors
// ...
}
CounterBagによって定義されたオブジェクトを保持するコレクションが必要Periodsです。コレクションは、による効率的なルックアップ(ここにキャッチがあります!)を提供する必要がありますlong timeInMillis。したがって、上書きしHashMapたくないので、実際にはオプションではありません(両方が必要です)。コレクションは(終了日で)並べ替える必要があります。sは柔軟な期間であり、ルックアップを実行する部分にはわかりません。equalshashcodeCounterBagPeriodPeriod
Java標準APIまたはいくつかのオープンソースライブラリに、それを解決するのに役立つすぐに使えるコレクションがあるのだろうか?日付による効率的なルックアップの実装を可能にする、ある種のソートされたセットまたはソートされたマップ。日付によるルックアップは、日付が範囲内にあるaCounterBagを返しPeriodます。
あなたの提案に感謝します。