J'utilise Java et j'ai un int [] [] tableau comme si:Java: Tri un tableau 2D basé sur les valeurs de la deuxième colonne
[ 65][ 4]
[108][ 47]
[ 32][279]
[103][ 26]
[111][138]
[100][ 63]
[112][ 33] ...etc.
Et je dois trier du moins au plus grand, basé sur les valeurs de la deuxième colonne. J'ai essayé ce code, se trouve également sur ce site:
print(myArray);
System.out.println("==========");
Arrays.sort(myArray, new Comparator<int[]>() {
@Override
public int compare(int[] int1, int[] int2)
{
Integer number1 = int1[1];
Integer number2 = int2[1];
return number1.compareTo(number2);
}
});
print(myArray);
Si ma méthode d'impression est la suivante:
public static void print(int[][] array) {
int k = 0;
while (array[k][0] != 0) {
System.out.println("[" + array[k][0] + "][" + array[k][1] + "]");
k++;
}
}
Il ne semble pas imprimer la deuxième fois, peu importe quoi. Je ne suis pas sûr de ce que je fais mal ici. Heureusement, c'est juste une solution facile :)
Que sont 'letter1' et' letter2' dans la méthode 'compare (...)'? – dasblinkenlight
duplication possible de [Comment est-ce que je trier un nombre entier simple tableau bidimensionnel?] (Http://stackoverflow.com/questions/7908307/how-do-i-sort-a-simple-integer-2-dimensional-array) –
Probablement une faute de frappe. Son application originale est susceptible de trier des tableaux de caractères. – Alain