我需要存储一组数据结构,这些数据结构由时间段(开始、结束)和这段时间的计数器定义,其中包含一些复杂的计算结果。数据结构的简化定义如下:
public class CounterBag {
private Period period; // collection key
private Counter counter;
// accessors
// ...
}
这Period
很简单:
public class Period {
public DateTime start;
public DateTime end;
// accessors
// ...
}
我需要一个包含CounterBag
distinct 定义的对象的集合Periods
。该集合需要通过 提供有效的查找(这是捕获!)long timeInMillis
,所以HashMap
这不是一个真正的选择,因为我不想覆盖equals
和hashcode
(CounterBag
我需要它们两者)。集合需要按Period
(按结束日期)排序。Period
s 具有灵活的持续时间,执行查找的部分不知道。
我想知道在 java 标准 API 或一些开源库中是否有一个开箱即用的集合可以帮助我解决它?某种排序集或排序映射,可以实现按日期进行有效查找。按日期查找将返回日期在CounterBag
其中Period
的 a。
感谢您的建议。