Matriz aleatoria en Java

Siddharth Swami 12 octubre 2023
  1. Utilice el método random() para mezclar un array en Java
  2. Utilice el método shuffle() para mezclar un array en Java
Matriz aleatoria 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.

Artículo relacionado - Java Array