La investigación principal en este artículo es el contenido relevante del método Collections.shuffle (). Echemos un vistazo al contenido específico a continuación.
Hay un método static shuffle () debajo de la clase java.util.collections, como sigue:
1) Static Void Shuffle (List <?> List) Use la fuente aleatoria predeterminada para pervertir la lista, y la posibilidad de todas las permutaciones ocurre es aproximadamente igual.
2) Static void shuffle (list <?> List, Rand Rand) realiza la lista especificada utilizando la fuente aleatoria especificada. La posibilidad de que ocurran todas las permutaciones es aproximadamente igual, suponiendo que la fuente aleatoria es justa.
En pocas palabras, es como una baraja, interrumpiendo aleatoriamente el orden original.
Nota: Si le dan una matriz entera, use el método Arrays.aslist () para convertirlo en una clase de colección, hay dos formas:
1) Use la lista <Integer> list = ArrayList (Arrays.aslist (IA)), y use Shuffle () para interrumpirlo no cambiará el orden de la matriz subyacente.
2) Use la lista <Integer> list = arrays.aslist (IA), y luego use shuffle () para interrumpirlo cambiará el orden de la matriz subyacente. El ejemplo del código es el siguiente:
paquete ahu; import java.util.*; public class Modify {public static void main (string [] args) {random rand = new Random (47); Integer [] ia = {0,1,2,3,4,4,5,6,7,8,9,9}; List <Integer> list = new ArrayList <Integer> (arrays.aslist (ia)); system.out.println ("antes de shufflig:"+list); collections.shuffle (list, rand); system.out.println ("después de barajar:"+list); system.println (""+arrays.tostring (ia)); list <integer> list1 = arrays.aslist (ia); system.out.println ("Antes de barajar:"+list1); collections.shuffle (list1, rand); system.out.println ("después de barajar:"+list1); system.out.println ("array:"+arrays.tostring (ia));}}}Los resultados de la operación son los siguientes:
3, 9] Después de barajar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] después de barajar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9] después de barajar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] después de la baraja: [0, 1, 2, 4, 5, 6, 7, 8, 9, 9] 2, 3, 4, 5, 6, 7, 8, 9] Después de barajar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] después de barajar: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7] después de barajar: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7]
En el primer caso, la salida de matrizs.aslist () se pasa al constructor de ArrayList (), que crea una lista de matrices que hace referencia al elemento de IA, por lo que interrumpir estas referencias no modifica la matriz. Sin embargo, si el resultado de las matrices. Es importante darse cuenta de que el objeto de lista producido por Arrays.aslist () utilizará la matriz subyacente como su implementación física. Mientras la acción que realice modificará esta lista y no quiera que se modifique la matriz original, debe crear una copia en otro contenedor.
Resumir
Lo anterior es todo el contenido de este artículo sobre el análisis del ejemplo del método Collections.shuffle (), espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!