Jas*_*n S 9 java data-structures
我有一个非常简单的数据结构(基本上是一个包含一些数组和单个值的结构),但我需要记录数据结构的历史记录,以便我可以在任何时间点有效地获取数据结构的内容.
是否有相对简单的方法来做到这一点?
我能想到的最好的方法是将整个数据结构封装起来,通过将数据存储在功能数据结构中来处理所有变异操作,然后对于每个变异操作,在时间索引的Map中缓存数据结构的副本-ordering(例如,具有实时作为键的TreeMap,或具有突变操作计数器的HashMap与存储在TreeMaps中的一个或多个索引,将实时/滴答计数等映射到变异操作)
有什么建议?
编辑:在一种情况下,我已经将历史记录作为一系列事务(这是从数据文件中读取项目)所以我可以重放它们,但每次我需要时这需要O(n)步骤(n =事务数量)访问数据.我正在寻找替代品.
vol*_*ley -1
多级撤消可以基于模型(即数据结构)和一系列操作。每个动作支持两种操作:“执行”和“撤消”。要对模型进行更改,您需要注册一个新操作并“执行”它。这允许您在历史记录中来回“行走”,但无法在恒定时间内访问特定索引处的模型状态。
也许这样的东西适用于您的情况?
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |