2012-03-26 2 views
0

데이터베이스에 정렬 순서 번호가있는 레코드가 있습니다. 이제 버튼을 재정렬하기 위해 버튼을 사용하여 UI를 만들고 싶습니다. 가장 좋은 알고리즘은 orderNum을 변경하여 함수를 재정렬하고 그 수를 데이터베이스에 유지하는 두 functionsUp (레코드)functionDown (레코드)입니다.스왑/리오 더 레코드

줄에 최대 누르기 전에

id | name | orderNum 
-------------------- 
1 | foo | 24 
2 | bar | 25 
3 | doe | 26 

: 여기

내가 (전 foo는 = 24, 후 foo는 = 25)를 달성하기 위해 노력하고있어의 예입니다
id | name | orderNum 
-------------------- 
1 | foo | 25 
2 | bar | 24 
3 | doe | 26 

답변

1

Java Collections를 사용한다고 가정하면 Comparable을 구현하는 클래스를 작성하고 Collections.sort() 유틸리티를 사용할 수 있습니다. colletion 주문에 대한 추가 정보 here.

0

데이터베이스의 데이터를 다시 묻지 않으려면 데이터를 정렬하기 만하면됩니다. 왜 빠른 정렬 알고리즘을 선택 했습니까?

물론 내가 옳다면. 그렇지 않다면 @grigery solution을 따라하십시오.

+0

해당 레코드를 데이터베이스에 저장해야합니다 (orderNum 필드에 저장) – Maksim

0

UI에서 정렬하려는 경우 ResultSet의 각 레코드를 bean에 매핑해야합니다. 그런 다음 bean이 Comparable 인터페이스를 구현하도록하고이를 사용하여 콜렉션을 정렬 할 수 있습니다.

다른 필드를 정렬하려면 선택한 필드에 따라 각 필드에 대해 Comparator를 작성하고 런타임에 선택한 열에 대한 Comparator를 주입 할 수 있습니다.

관련 문제