Tableau aléatoire en Java
-
Utilisez la méthode
random()
pour mélanger un tableau en Java -
Utilisez la méthode
shuffle()
pour mélanger un tableau en Java
Un tableau est l’une des structures de données fondamentales de Java. Java est équipé de nombreuses fonctions et méthodes pour traiter et travailler sur des tableaux.
Ce tutoriel montre comment mélanger un tableau en Java.
Utilisez la méthode random()
pour mélanger un tableau en Java
Nous pouvons utiliser la méthode de tableau aléatoire de Fisher-Yates pour mélanger aléatoirement un tableau donné. Cette méthode vise à commencer à partir du dernier élément d’un tableau donné et à continuer de l’échanger avec un élément sélectionné au hasard dans le tableau.
Nous utilisons la fonction Random()
de la classe random pour choisir aléatoirement les index d’un tableau. Nous allons importer deux classes, Random()
et Arrays
, de la bibliothèque java.util
.
Par exemple,
import java.util.Arrays;
import java.util.Random;
public class ShuffleExample {
static void rand(int array[], int a) {
// Creating object for Random class
Random rd = new Random();
// Starting from the last element and swapping one by one.
for (int i = a - 1; i > 0; i--) {
// Pick a random index from 0 to i
int j = rd.nextInt(i + 1);
// Swap array[i] with the element at random index
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
// Printing the random generated array
System.out.println(Arrays.toString(array));
}
public static void main(String[] args) {
int[] ar = {1, 2, 3, 4, 5, 6, 7, 8};
int b = ar.length;
rand(ar, b);
}
}
Production:
[5, 4, 6, 2, 8, 1, 7, 3]
Utilisez la méthode shuffle()
pour mélanger un tableau en Java
La fonction shuffle()
de la classe Collection
prend une liste donnée par l’utilisateur et la mélange aléatoirement. Cette fonction est facile à utiliser et prend moins de temps que la méthode précédente. En outre, cela réduit la ligne de codes pour nous.
Nous prenons un tableau et le convertissons d’abord en liste. Ensuite, nous utilisons la fonction shuffle()
pour mélanger cette liste. Enfin, nous modifions cette liste en tableau et l’imprimons.
Voir le code ci-dessous.
import java.util.*;
public class ShuffleExample2 {
public static void main(String[] args) {
Integer[] array = {1, 3, 5, 7, 9};
List<Integer> list = Arrays.asList(array);
Collections.shuffle(list);
list.toArray(array);
System.out.println(Arrays.toString(array));
}
}
Production:
[7, 9, 3, 1, 5]
Dans le tableau ci-dessus, nous pouvons voir notre tableau mélangé. Il renvoie un nouveau tableau mélangé à chaque fois.