Comparteix via


Collections.Shuffle Método

Definición

Sobrecargas

Shuffle(IList<Object>)

Permuta aleatoriamente la lista especificada mediante un origen predeterminado de aleatoriedad.

Shuffle(IList<Object>, Random)

De forma aleatoria se puede activar la lista especificada con el origen especificado de aleatoriedad.

Shuffle(IList<Object>)

Permuta aleatoriamente la lista especificada mediante un origen predeterminado de aleatoriedad.

[Android.Runtime.Register("shuffle", "(Ljava/util/List;)V", "")]
public static void Shuffle (System.Collections.Generic.IList<object> list);
[<Android.Runtime.Register("shuffle", "(Ljava/util/List;)V", "")>]
static member Shuffle : System.Collections.Generic.IList<obj> -> unit

Parámetros

list
IList<Object>

la lista que se va a ordenar.

Atributos

Comentarios

Permuta aleatoriamente la lista especificada mediante un origen predeterminado de aleatoriedad. Todas las permutaciones se producen con una probabilidad aproximadamente igual.

La cobertura "aproximadamente" se usa en la descripción anterior porque la fuente predeterminada de aleatoriedad es solo una fuente no sesgada de bits elegidos independientemente. Si fuera una fuente perfecta de bits elegidos aleatoriamente, el algoritmo elegiría permutaciones con uniformidad perfecta.

Esta implementación recorre la lista hacia atrás, desde el último elemento hasta el segundo, intercambiando repetidamente un elemento seleccionado aleatoriamente en la "posición actual". Los elementos se seleccionan aleatoriamente de la parte de la lista que se ejecuta desde el primer elemento hasta la posición actual, ambos incluidos.

Este método se ejecuta en tiempo lineal. Si la lista especificada no implementa la RandomAccess interfaz y es grande, esta implementación volca la lista especificada en una matriz antes de realizar un orden aleatorio y volca la matriz aleatoria en la lista. Esto evita el comportamiento cuadrático que resultaría de la orden aleatoria de una lista de "acceso secuencial" en su lugar.

Documentación de Java para java.util.Collections.shuffle(java.util.List<?>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Shuffle(IList<Object>, Random)

De forma aleatoria se puede activar la lista especificada con el origen especificado de aleatoriedad.

[Android.Runtime.Register("shuffle", "(Ljava/util/List;Ljava/util/Random;)V", "")]
public static void Shuffle (System.Collections.Generic.IList<object> list, Java.Util.Random rnd);
[<Android.Runtime.Register("shuffle", "(Ljava/util/List;Ljava/util/Random;)V", "")>]
static member Shuffle : System.Collections.Generic.IList<obj> * Java.Util.Random -> unit

Parámetros

list
IList<Object>

la lista que se va a ordenar.

rnd
Random

el origen de la aleatoriedad que se va a usar para ordenar aleatoriamente la lista.

Atributos

Comentarios

De forma aleatoria se puede activar la lista especificada con el origen especificado de aleatoriedad. Todas las permutaciones se producen con la misma probabilidad de suponer que la fuente de aleatoriedad es justa.

Esta implementación recorre la lista hacia atrás, desde el último elemento hasta el segundo, intercambiando repetidamente un elemento seleccionado aleatoriamente en la "posición actual". Los elementos se seleccionan aleatoriamente de la parte de la lista que se ejecuta desde el primer elemento hasta la posición actual, ambos incluidos.

Este método se ejecuta en tiempo lineal. Si la lista especificada no implementa la RandomAccess interfaz y es grande, esta implementación volca la lista especificada en una matriz antes de realizar un orden aleatorio y volca la matriz aleatoria en la lista. Esto evita el comportamiento cuadrático que resultaría de la orden aleatoria de una lista de "acceso secuencial" en su lugar.

Documentación de Java para java.util.Collections.shuffle(java.util.List<?>, java.util.Random).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a