/ / Java Arrays.sort réinitialise les résultats sur tous les zéros - java, tableaux, tri

Java Arrays.sort réinitialise les résultats à tous les zéros - Java, tableaux, tri

J'utilise Java Arrays.sort afin de trier les éléments d'un tableau à deux dimensions:

int[][] RAM = new int[4][10000];

Je remplis le tableau de RAM avec des entiers et appelle ensuite:

for (i=0;i<4;i++){
Arrays.sort(RAM[i]);
System.out.println(i);
}

Cela a pour résultat que tous les éléments de RAM [] [] sont remplis de zéros. Qu'est-ce que je fais mal?

Réponses:

1 pour la réponse № 1
public static void show (int [][] list)
{
System.out.println ("- show: -");
for (int [] ia : list) {
for (int i : ia)
System.out.print (i + ", ");
System.out.println ();
}
System.out.println ("---");
}

static Random random = new Random ();

public static void main (String [] args)
{
int[][] RAM = new int[4][2];
for (int i = 0; i < 4; ++i)
{
for (int j = 0; j < 2; ++j)
{
RAM[i][j] = random.nextInt (20);
System.out.print (i*2 +j);
}
}
show (RAM);
for (int i=0; i<4; i++) {
Arrays.sort (RAM[i]);
}
show (RAM);
System.out.println ();
}

Résultat:

- show: -
8, 13,
12, 10,
16, 3,
7, 1,
---
- show: -
8, 13,
10, 12,
3, 16,
1, 7,
---

1 pour la réponse № 2

Avez-vous réellement rempli le tableau de chiffrespremière? Et si vous le faites, vous n’imprimez que la première partie de votre tableau 2D. Vous devez imprimer les 40 000 entrées. 10 000 pour chaque tableau de tableau. Donc [0] [0 ... 9999], [1] [0 ... 9999] etc.


0 pour la réponse № 3

Je pense que la raison en est que vous n’avez pas défini de valeurpour tous les éléments de votre tableau. Pour l’élément que vous n'avez pas initialisé, la valeur par défaut est 0. Ainsi, lorsque vous triez tous les éléments du tableau, les 0 sont échangés sur la première partie de votre tableau. Si vous exportez les premières voir sont des zéros. Je suppose que oui.