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