【发布时间】:2010-06-11 17:08:08
【问题描述】:
我有一个非常简单的数据结构(基本上是一个包含一些数组和单个值的结构),但是我需要记录数据结构的历史,以便我可以随时有效地获取数据结构的内容及时。
有没有相对简单的方法来做到这一点?
我能想到的最好的方法是封装整个数据结构,通过将数据存储在functional data structures 中来处理所有变异操作,然后为每个变异操作在 Map 中缓存数据结构的副本按时间排序索引(例如,以实时为键的 TreeMap,或具有突变操作计数器的 HashMap,结合存储在 TreeMaps 中的一个或多个索引,将实时/滴答计数等映射到突变操作)
有什么建议吗?
编辑:在一种情况下,我已经将历史记录作为一系列事务(这是从数据文件中读取项目),因此我可以重播它们,但这需要 O(n) 步骤( n = # of transactions) 每次我需要访问数据时。我正在寻找替代品。
【问题讨论】:
标签: java data-structures