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