【问题标题】:Java sorting parallel arraysJava 对并行数组进行排序
【发布时间】:2010-11-27 18:17:59
【问题描述】:

我必须对包含 1 个字符串数组和 2 个整数数组的数据库进行排序。这是我目前所拥有的:

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;
           }
       }
   }

我还没有测试它,因为整个程序还没有完成,但是这看起来是否朝着正确的方向发展?我想先按名称的字母顺序对数据库进行排序,如果名称相同,则使用课程编号进行排序。

【问题讨论】:

  • 什么原因,你不是用sql做的吗?
  • 因为我必须用java来做。

标签: java arrays sorting parallel-processing


【解决方案1】:

恕我直言,您的方向不是最佳的。 我知道的最好的方法是创建新的数据结构

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

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

现在创建一个数据数组或集合:

List<Data>
Data[]

现在使用Arrays.sort()Collections.sort()

【讨论】:

  • 没那么简单。我们必须使用 java 并按照教授所说的方式使用一种方法,并使用我原来的帖子中看到的类似方法。
猜你喜欢
  • 2011-12-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 2012-02-14
  • 2011-07-20
  • 2012-04-22
相关资源
最近更新 更多