List in Java について質問したいです。
リスト内の要素の削除、追加、検索を簡単に実装できます。しかし、Java でリストの取り消しとやり直しを実装する方法は?
誰でもこれについて私を助けることができますか?
このために を実装しようとしているかもしれませんCommand Design Pattern
。まともな単純化された例は、List
ここにあります http://www.algosome.com/articles/implementing-undo-redo-java.html
リストの削除や追加などの操作を元に戻したりやり直したりしたいと思います。
Undo と Redo のインデックス機能を備えた別のリスト、たとえば ArrayListを使用するだけです。
そのためにはバインディングが必要です。
私にとって、これはそれを行うための最も効率的な方法です。SOでのこの質問は、どこから始めるべきかに関するいくつかのヒントを与えることができます。
リストからアイテムを削除して元に戻すという意味ですか?リストの新しいクラスを簡単に作成し、次のようなプロパティを定義できます。最後に実行されたアクション + 影響を受けるアイテムの元の値 (および場合によってはインデックス) を保存します。やり直しについても同じです(少なくともやり直しと元に戻すの1ステップ)。項目の順序を気にしない (または簡単に順序付けできる) 場合は、最後に実行されたアクションのリストと元の値のリストを定義します。例: lastAction[0]="delete"; lastElement[0] = 1; // リストから 1 を削除したことを意味します
それが最初のダミーのアイデアです。考慮すべき問題がいくつかあるかもしれません...