Java 对并行数组进行排序

标签 java arrays sorting parallel-processing

我必须对 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;
           }
       }
   }

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

最佳答案

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

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 对并行数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4293146/

相关文章:

java - 在java中模拟线程调度(stackless java?)

javascript - JavaScript 数组实际上是作为数组实现的吗?

python - 从 2D numpy 获得联合概率的最佳方法

php - 将数组从 html 发布到 php

c# - 列出我电脑上的所有文件并按大小排序

java - 为什么这个算法不能正确排序最后一个索引?

java - 中缀到后缀表达式中的结合性规则

java - LibGdx - 在一个 TextButton 中使用两种样式

c++ - 排序 : Is this performance difference for real or am I doing something wrong?

java - 使用 Java 读取一个标签中包含多个值的 XML 文件