我想问一个关于Java中List的问题。
很容易实现删除,添加和搜索列表中的元素。但是如何在Java中实现列表的撤销和重做?
任何人都可以帮我吗?
答案 0 :(得分:4)
您可能希望为此实施Command Design Pattern
。可以在http://www.algosome.com/articles/implementing-undo-redo-java.html
List
的一个不错的简化示例
答案 1 :(得分:1)
我想您想要撤消并重做像删除和添加列表等操作。
只需使用具有撤消和重做索引功能的其他列表,例如一个ArrayList:
答案 2 :(得分:0)
你的意思是从列表中删除项目并撤消它?您可以轻松地为列表创建新类,并定义以下属性:上次执行的操作+存储受影响项目的原始值(以及可能的索引)。重做相同(至少重做和撤消一步)。如果您不关心项目的顺序(或者您可以轻松订购它们),则定义上次执行的操作列表和原始值列表。例如: lastAction [0] = “删除”; lastElement [0] = 1; //表示您从列表中删除了1
这是第一个也是虚构的想法。也许有一些问题需要考虑......
答案 3 :(得分:0)
你需要绑定来做到这一点。
对我而言,这是最有效的方法。 This question在SO可以给你一些关于从哪里开始的提示。