Java 2D数组排序

时间:2017-11-27 18:29:35

标签: java arrays sorting multidimensional-array 2d

我正在为大学工作,我正在努力弄清楚为什么这条线路无法正常工作

return Full_Name.compareTo(Age, Student_ID, Comm_Marks, Work_Exp_Marks,Mathematics_Marks);

我已经尝试过搞乱它,快速谷歌搜索错误修复但没有出现(好吧......至少对我来说)

我需要做的是按字母顺序组织数组,然后其他数组值遵循最初旁边的值。因此,例如,当Full_Name数组按字母顺序排序并且Bruce Wayne按此排序时,则“RP0023”的Student_ID必须跟随Bruce Wayne以及Age数组和主题标记...如果这是有意义的,之后有更多的步骤,但这是需要完成的任务中最难的部分。我一直在努力解决这个问题一个星期了。讲师建议使用Compare To功能进行排序,这就是我一直在尝试做的事情。

我真的希望尽快完成这种排序,这样我就可以继续完成任务,因为我不能继续进行排序。希望我涵盖了我需要的所有内容并且有意义。此外,我正在编写代码并确保它在控制台中以可读方式打印之前有效。

package javaapplicationtest;

import java.util.Arrays;
import java.util.Comparator;

public class JavaApplicationTest 
{
public static void main(String[] args) 
{
Integer[] proxyLookup = new Integer[]{0, 1, 2, 3, 4, 5, 6, 7};

    String[][] Full_Name 
            = {
                {"Bruce Wayne", "Dinah Lance", "Celina Kyle", "Clark Kent"},
                {"Barry Allen", "Barbara Gordon", "Hal Jordon", "Ray Palmer"}
            };

    int[][] Age = {
     {18, 19, 23, 34},
      {19, 16, 24, 37}
    };

     String[][] Student_ID 
             = {
                 { "RP0023", "RP0024", "RP0025", "RP0026"},
                 {"RP0027", "RP0028", "RP0029", "RP0030"}
             };    

      Double[][] Comm_Marks 
              = {
                {87.4, 67.8, 45.3, 14.5} ,
                {76.8, 54.2, 56.3, 98.2}
      };

      Double[][] Work_Exp_Marks 
              = {
                  {67.5, 72.6, 97.5, 76.2} ,
                  {83.0, 45.5, 37.1, 87.4}
              };

       Double[][] Mathematics_Marks 
               = {
                   {92.4, 54.3, 56.3, 67.3} , 
                   {23.4, 67.4, 84.4, 90.0}
               };    

    System.out.println("Unsorted Array:  \n ==============");
    for (int index : proxyLookup) 
    {
        System.out.println(Full_Name[index] + ";" + Age[index] + ";" + Student_ID[index]);
    }

      Arrays.sort(proxyLookup, new Comparator<Integer>() {
        @Override
        public int compare(Integer o1, Integer o2) {
            return Full_Name.compareTo(Age, Student_ID, Comm_Marks, Work_Exp_Marks,Mathematics_Marks);

        }
    });


     System.out.println("Sorted Aray: \n ==============");

    for (int index : proxyLookup) {
        System.out.println(Full_Name[index] + "; " + Age[index] + "; " + Student_ID[index]);
    }



}



  }

0 个答案:

没有答案