첫째, 이것은 숙제처럼 들릴 것 같지만 그렇지 않습니다. 내가 직장에서 풀려고하는 문제.개체 목록을 재정렬하는 방법은 무엇입니까?
개체 목록이 있으며 개체의 순서는 UI의 목록에서 순서를 나타냅니다. 예 :
public class Task {
Long id;
String name;
Long seq;
}
내 UI의 테이블에는 목록의 작업을 위아래로 이동하기위한 테이블의 각 행에 "위로"및 "아래로"링크가 있습니다.
재정렬을 처리하는 두 가지 방법을 구현 중입니다. 이 메소드는 웹 UI에서 아약스에 의해 호출됩니다.
public void incTaskSeq(List<Task> allTasks, Task taskToMove)
예를 들어, t1.seq = 1, t2.seq = 2, t3.seq = 3, t4.seq = 4, t5.seq = 5이면 t3의 자리를 증가시키고 t3.seq는 4가되고 t4.seq는 3이되어야합니다.
마찬가지로; t1.seq = 1, t2.seq = 2, t4.seq = 3, t3.seq = 4, t5.seq = 5이면 t4의 자리를 감소시키고 t4.seq는 2가되고 난
t1.seq = 1, t4.seq = 2, t2.seq = 3, t3.seq = 4, t5.seq = 5
: t2.seq는 결과 3.이되어야한다 이것을하기위한 최선의 방법에 조금 붙어 있습니다.
나는 모든 작업을 HashMap에 넣은 다음 시퀀스 번호로 맵을 정렬하려고 생각했다. 그런 다음 맵에서 taskToMove를 찾고 시퀀스 번호를 변경 한 다음 영향을받은 모든 작업 시퀀스를 변경하십시오.
하지만이 방법은 멋지지 않을 것 같습니다. 아무도 내가 어떻게해야하는지에 대한 아이디어가 있습니까?
감사합니다, 비 자연적으로 정렬 자바 인터페이스 롭
죄송
. 그것은 사전을 만들고 "알파벳"이 단어 17이라고 말하는 것과 같습니다. 단어 자체에 의존하는 것이 아니라 그것이 속한 모음 (어떤 순서가 선택되었는지, 어떻게 단어가 이전인지)에 의존합니다. – SJuan76