Collections.Shuffle Método

Definição

Sobrecargas

Nome Description
Shuffle(IList<Object>, IRandomGenerator)
Shuffle(IList<Object>, Random)

Permute aleatoriamente a lista especificada usando a fonte de aleatoriedade especificada.

Shuffle(IList<Object>)

Permuta aleatoriamente a lista especificada usando uma fonte padrão de aleatoriedade.

Shuffle(IList<Object>, IRandomGenerator)

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

Parâmetros

list
IList<Object>
Atributos

Aplica-se a

Shuffle(IList<Object>, Random)

Permute aleatoriamente a lista especificada usando a fonte de aleatoriedade especificada.

[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>

a lista a ser embaralhada.

rnd
Random

a fonte de aleatoriedade a ser usada para embaralhar a lista.

Atributos

Comentários

Permute aleatoriamente a lista especificada usando a fonte de aleatoriedade especificada. Todas as permutações ocorrem com igual probabilidade supondo que a fonte de aleatoriedade seja justa.

Essa implementação percorre a lista para trás, do último elemento até o segundo, alternando repetidamente um elemento selecionado aleatoriamente para a "posição atual". Os elementos são selecionados aleatoriamente na parte da lista que é executada do primeiro elemento para a posição atual, inclusive.

Esse método é executado em tempo linear. Se a lista especificada não implementar a RandomAccess interface e for grande, essa implementação despejará a lista especificada em uma matriz antes de embaralhá-la e despejará a matriz embaralhada de volta na lista. Isso evita o comportamento quadrático que resultaria em embaralhar uma lista de "acesso sequencial" em vigor.

Java documentação para java.util.Collections.shuffle(java.util.List<?>, java.util.Random).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

Shuffle(IList<Object>)

Permuta aleatoriamente a lista especificada usando uma fonte padrão de aleatoriedade.

[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>

a lista a ser embaralhada.

Atributos

Comentários

Permuta aleatoriamente a lista especificada usando uma fonte padrão de aleatoriedade. Todas as permutações ocorrem com probabilidade aproximadamente igual.

O hedge "aproximadamente" é usado na descrição anterior porque a fonte padrão de aleatoriedade é apenas uma fonte imparcial de bits escolhidos independentemente. Se fosse uma fonte perfeita de bits escolhidos aleatoriamente, o algoritmo escolheria permutações com uniformidade perfeita.

Essa implementação percorre a lista para trás, do último elemento até o segundo, alternando repetidamente um elemento selecionado aleatoriamente para a "posição atual". Os elementos são selecionados aleatoriamente na parte da lista que é executada do primeiro elemento para a posição atual, inclusive.

Esse método é executado em tempo linear. Se a lista especificada não implementar a RandomAccess interface e for grande, essa implementação despejará a lista especificada em uma matriz antes de embaralhá-la e despejará a matriz embaralhada de volta na lista. Isso evita o comportamento quadrático que resultaria em embaralhar uma lista de "acesso sequencial" em vigor.

Java documentação para java.util.Collections.shuffle(java.util.List<?>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a