2012-11-07 86 views
-1

我想在java中排序2d數組。第一列是描述一種權限的int,第二列是描述應用程序類別的另一個整數。 我想排序第一列離開第二個,因爲它是。 因此,例如,如果我把參數[0] [0],我將返回該類別中最常用的權限。排序java中的多維數組

對不起我的英文不好,並感謝您的幫助

+1

你可以添加一些代碼,你可能已經嘗試? – Vinit

+0

[Sorting Java Multidimensional Array]可能重複(http://stackoverflow.com/questions/10076982/so​​rting-java-multidimensional-array) – Mike

回答

0

希望這有助於:

class 2DcolumnComparator implements Comparator { 
     private int columnToSortOn; 

     2DcolumnComparator(int columnToSortOn) { 
     this.columnToSortOn = columnToSortOn; 
    } 

    public int compare(Object o1, Object o2) { 
    String[] row1 = (String[])o1; 
    String[] row2 = (String[])o2; 

    return row1[columnToSortOn].compareTo(row2[columnToSortOn]); 
    } 
    } 
+0

顯示某人如何使用比較器可能很有用。即。 Arrays.sort() –

+0

雖然'Comparator'可能是要走的路(我有一種感覺OP已經遺漏了一些重要信息),通常使用通用版本更好。 –

2

使用Arrays#sort(T[],Comparator<? super T>)功能

 int array [][] = {{1,11},{2,34},{3,8},{8,4},{7,23}}; 

     java.util.Arrays.sort(array, new java.util.Comparator<int[]>() { 
      public int compare(int[] a, int[] b) { 
       return b[0] - a[0]; 
      } 
     });