Matriz aleatoria en Java
-
Utilice el método
random()
para mezclar un array en Java -
Utilice el método
shuffle()
para mezclar un array en Java
un array es una de las estructuras de datos fundamentales en Java. Java está equipado con muchas funciones y métodos para procesar y trabajar en matrices.
Este tutorial demuestra cómo mezclar un array en Java.
Utilice el método random()
para mezclar un array en Java
Podemos usar el método de array aleatoria de Fisher-Yates para mezclar aleatoriamente un array determinada. Este método tiene como objetivo comenzar desde el último elemento de un array dada y seguir intercambiándolo con un elemento seleccionado al azar en el array.
Usamos la función Random()
de la clase aleatoria para seleccionar aleatoriamente los índices de un array. Importaremos dos clases, Random
y Arrays
, de la biblioteca java.util
.
Por ejemplo,
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);
}
}
Producción :
[5, 4, 6, 2, 8, 1, 7, 3]
Utilice el método shuffle()
para mezclar un array en Java
La función shuffle()
de la clase Collection
toma una lista dada por el usuario y la baraja aleatoriamente. Esta función es fácil de usar y requiere menos tiempo que el método anterior. Además, nos reduce la línea de códigos.
Tomamos un array y primero la convertimos en una lista. Luego, usamos la función shuffle()
para mezclar esta lista. Finalmente, cambiamos esta lista de nuevo a un array y la imprimimos.
Vea el código a continuación.
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));
}
}
Producción :
[7, 9, 3, 1, 5]
En el array anterior, podemos ver nuestra matriz barajada. Devuelve una nueva matriz barajada cada vez.