내가 메모리에 테이블이 프로젝트에서 일하고 있어요 여러 필드로 정렬하려면 :가장 효율적인 방법은 예를 들어, 자바
이field1 field2 field3 field4 field5
somevalue somevalue somevalue somevalue somevalue
somevalue somevalue somevalue somevalue somevalue
.
.
.
.
v
수 있도록 해주는 함수를 작성하는 가장 좋은 방법은 무엇입니까 사용자가 정렬 할 필드의 사전 결정되지 않은 순열을 지정하려면? (예 : 필드 2, 필드 1, 필드 5 순). 지금까지 생각한 최선의 방법은 재귀 함수이지만, 특히 각 열 내에서 행의 '하위 그룹'을 만들고 관리하는 것이 매우 빨리 못 생깁니다. 이 복잡한 방식에 전념하기 전에 누군가가 좀 더 효율적인 방향으로 나를 가리킬 수 있습니까?
그건 그렇고, 내 테이블은 배열의 목록으로 저장됩니다.
내가 이해 한 바로는 'Comparator'는 특정 순열로 테이블을 정렬하는 방법을 지정합니다. 이것은 가능한 모든 시나리오에 대해 'Comparator'를 구현해야한다는 것을 의미합니다. 내가 틀렸다면 나를 바로 잡으십시오. 나는 좀 더 일반적인 것을 필요로합니다. 가능한 모든 순열을 정렬 할 수있는 방법이 필요합니다. – Mike
@Mike는 객체 지향적이라고 생각합니다. 사용자 정의 코드를 한 번만 작성하고 * 작성해야하지만 객체가 인스턴스화 될 때와 정렬 될 때 사이에 변경되는 데이터를 사용할 수 있습니다. – djechlin
@Mike 'compare' 메쏘드와'setPriorities (int [] newPriorities)'메쏘드에 의해 사용될 데이터 멤버로서'private int columnPriorities [];'를 가지는'CustomSortable' 클래스입니다. 그래서 setter가 호출 된 후에'compare' 메쏘드의 동작이 바뀝니다. – djechlin