public static void sortIntArrs(int[][] a, String sortCols)
    {
        for (int i = 0; i < a.length; i++)
        {
            for (int j = i + 1; j < a.length; j++)
            {
                swap(a[i],a[j],sortCols);
            }
        }
    }    public static void swap(int m[], int n[], String sortCols)
    {
        int x;
        boolean bSwap = false;
        String y[] = sortCols.split(",");
        for (int i = 0; i < y.length; i++)
        {
            int j = Integer.parseInt(y[i]);
            if (j < m.length)
            {
                if (m[j] > n[j])
                {
                    bSwap = true;
                    break;
                }
                else if(m[j]<n[j])
                {
                    break;
                }
            }
        }
        if (bSwap)
        {
            for (int i = 0; i < m.length; i++)
            {
                x = m[i];
                m[i] = n[i];
                n[i] = x;
            }
        }
    }

解决方案 »

  1.   

        final int column = 4; // 排序的列
        int[][] ids = { { 1, 2, 3, 4, 5 }, { 2, 3, 4, 5, 1 }, { 3, 4, 5, 1, 2 } };
        List<int[]> list = new ArrayList<int[]>(); // 转化为List进行排序
        for (int[] id : ids) {
          list.add(id);
        }
        Collections.sort(list, new Comparator() {
          public int compare(Object obj1, Object obj2) {
            int[] id1 = (int[]) obj1;
            int[] id2 = (int[]) obj2;
            return id1[column] - id2[column];
          }
        });
        for (int[] id : list) {
          System.out.println(Arrays.toString(id));
        }