2010-11-27 7 views
0

1 문자열 배열과 2 int 배열의 데이터베이스를 정렬해야합니다. 이것은 내가 지금까지 무엇을 가지고 :Java 정렬 병렬 배열

내가 전체 프로그램이 완료되지 않았기 때문에 테스트 아직하지만 그것이 올바른 방향으로 가고 생겼
public static void sortDatabase(int numRecords, String[] sDeptArr, 
       int[] iCourseNumArr, int[] iEnrollmentArr) 
    { 
     int length = sDeptArr.length; 
     for(int i=0; i<length-1; i++) 
     { 
      int iPosMin = i; 
      for(int j=i+1; j<length; j++) 
      { 
       if(sDeptArr[j].compareTo(sDeptArr[iPosMin]) == 0) 
        iPosMin = j; 
       else if(sDeptArr[j].equals(sDeptArr[iPosMin]) && iCourseNumArr[j] < iCourseNumArr[iPosMin]) 
        iPosMin = j; 
      } 
     } 
    } 

? 알파벳순으로 데이터베이스를 먼저 이름순으로 정렬하고 이름이 같은 경우 코스 번호를 사용하여 정렬 할 수 있습니다.

+1

어떤 이유로 든 sql을 사용하지 않는 이유는 무엇입니까? –

+0

자바에서해야하기 때문에. – Mike

답변

2

IMHO 귀하의 방향이 최적이 아닙니다.

List<Data> 
Data[] 

지금 Arrays.sort() 또는 Collections.sort()을 사용 : 내가 아는 가장 좋은 방법은

public class Data implements Comparable<Data> { 
    private String sDeptArr; 
    private int iCourseNumArr; 
    private int iEnrollmentArr; 

    public int compareTo(Data other) { 
    // your implementation 
    } 
} 

지금 데이터의 배열이나 컬렉션을 만들 새로운 데이터 구조를 만드는 것입니다.

+0

간단하지 않습니다. 우리는 java를 사용해야하고 교수가 방법을 사용하고 위에서 본 것과 같은 것을 원래 게시물에 사용하는 방식으로해야합니다. – Mike