2011-09-10 6 views
3

Java의 List에 대해 질문하고 싶습니다.Java의 실행 취소 및 다시 실행

목록에서 요소 삭제, 추가 및 검색을 구현하는 것은 쉽습니다. 하지만 Java에서 목록의 실행 취소 및 다시 실행을 구현하는 방법은 무엇입니까?

누구든지 나를 도와 줄 수 있습니까?

+1

"목록의 실행 취소 및 다시 실행"이란 무엇입니까? –

+0

예를 들어 요소를 삭제 한 다음 실행 취소하려고하므로 다시 추가 할 수 있습니다. –

+2

List 클래스의 표준 작업은 아닙니다. –

답변

0

목록에서 항목을 삭제하고 실행 취소하는 것과 같은 의미입니까? 목록에 대해 새 클래스를 쉽게 만들고 다음과 같은 속성을 정의 할 수 있습니다. 마지막으로 수행 한 작업 + 영향을받은 항목의 원본 값 (및 가능하면 인덱스)을 저장합니다. 리두와 동일합니다 (최소한 리두와 언두에서 한 걸음 씩). 항목의 순서가 마음에 들지 않거나 쉽게 주문할 수 있다면 마지막으로 수행 된 작업 목록과 원점 값 목록을 정의하십시오. 따라서 예 : lastAction [0] = "delete"; lastElement [0] = 1; // 목록에서 1을 삭제했다는 것을 의미합니다.

그 방법은 처음이자 가짜입니다. 아마도 고려해야 할 몇 가지 문제가 있습니다 ...

1

삭제와 같은 작업을 실행 취소하고 다시 실행하고 싶습니다. 목록에 추가하십시오.

그냥 색인 다시 만들기 및 다시 실행에 대한 색인 생성 기능이있는 다른 목록을 사용하십시오. ArrayList :

  • 원래 목록에 add (요소) 또는 delete (요소)를 추가하면 해당 목록이 실제로 변경 될 때마다 요소를 실행 취소 목록 끝에 추가합니다.
  • 그런 다음 작업을 실행 취소하려는 경우 실행 취소 목록을 이동하면됩니다. 실행 취소 목록의 요소가 원래 목록에 없으면 추가합니다 (원래 목록에있는 경우 추가하십시오). .
  • 다시 실행 취소 목록을 사용하려면 실행 취소 목록에서 "undid"한 요소를 제거하지 말고 색인을 통해 실행 취소 목록을 이동하십시오. 그런 다음 실행 취소 목록을 통해 양방향으로 이동할 수 있으므로 작업을 실행 취소하고 다시 실행할 수 있습니다.
0

바인딩을해야합니다.

나에게 이것이 가장 효율적인 방법입니다. This question은 어디서 시작해야할지에 대한 힌트를 줄 수 있습니다.

관련 문제