Condividi tramite


Collections.Shuffle Metodo

Definizione

Overload

Shuffle(IList<Object>)

Permuta in modo casuale l'elenco specificato usando un'origine predefinita di casualità.

Shuffle(IList<Object>, Random)

Permutare in modo casuale l'elenco specificato usando l'origine specificata di casualità.

Shuffle(IList<Object>)

Permuta in modo casuale l'elenco specificato usando un'origine predefinita di casualità.

[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

Parametri

list
IList<Object>

elenco da spostare in sequenza casuale.

Attributi

Commenti

Permuta in modo casuale l'elenco specificato usando un'origine predefinita di casualità. Tutte le permutazioni si verificano con una probabilità approssimativamente uguale.

La siepe "approssimativamente" viene usata nella descrizione precedente perché la fonte predefinita di casualità è solo circa una fonte non distorta di bit scelti in modo indipendente. Se fosse una fonte perfetta di bit scelti in modo casuale, l'algoritmo sceglierebbe permutazioni con uniformità perfetta.

Questa implementazione attraversa l'elenco all'indietro, dall'ultimo elemento fino al secondo, scambiando ripetutamente un elemento selezionato in modo casuale nella "posizione corrente". Gli elementi vengono selezionati in modo casuale dalla parte dell'elenco eseguita dal primo elemento alla posizione corrente, inclusi.

Questo metodo viene eseguito in tempo lineare. Se l'elenco specificato non implementa l'interfaccia RandomAccess ed è di grandi dimensioni, questa implementazione esegue il dump dell'elenco specificato in una matrice prima di riapplicarla e scarica nuovamente la matrice casuale nell'elenco. In questo modo si evita il comportamento quadratico risultante dalla casualità di un elenco di "accesso sequenziale" sul posto.

Documentazione java per java.util.Collections.shuffle(java.util.List<?>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a

Shuffle(IList<Object>, Random)

Permutare in modo casuale l'elenco specificato usando l'origine specificata di casualità.

[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

Parametri

list
IList<Object>

elenco da spostare in sequenza casuale.

rnd
Random

origine della casualità da usare per ricampionare l'elenco.

Attributi

Commenti

Permutare in modo casuale l'elenco specificato usando l'origine specificata di casualità. Tutte le permutazioni si verificano con la stessa probabilità presupponendo che l'origine della casualità sia equa.

Questa implementazione attraversa l'elenco all'indietro, dall'ultimo elemento fino al secondo, scambiando ripetutamente un elemento selezionato in modo casuale nella "posizione corrente". Gli elementi vengono selezionati in modo casuale dalla parte dell'elenco eseguita dal primo elemento alla posizione corrente, inclusi.

Questo metodo viene eseguito in tempo lineare. Se l'elenco specificato non implementa l'interfaccia RandomAccess ed è di grandi dimensioni, questa implementazione esegue il dump dell'elenco specificato in una matrice prima di riapplicarla e scarica nuovamente la matrice casuale nell'elenco. In questo modo si evita il comportamento quadratico risultante dalla casualità di un elenco di "accesso sequenziale" sul posto.

Documentazione java per java.util.Collections.shuffle(java.util.List<?>, java.util.Random).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a