Поделиться через


Collections.Shuffle Метод

Определение

Перегрузки

Shuffle(IList<Object>)

Случайным образом перемежает указанный список с помощью источника случайности по умолчанию.

Shuffle(IList<Object>, Random)

Случайным образом перемежайте указанный список с помощью указанного источника случайности.

Shuffle(IList<Object>)

Случайным образом перемежает указанный список с помощью источника случайности по умолчанию.

[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

Параметры

list
IList<Object>

список, который нужно перетасовать.

Атрибуты

Комментарии

Случайным образом перемежает указанный список с помощью источника случайности по умолчанию. Все перемутации происходят с приблизительно равной вероятностью.

Хеджирование "приблизительно" используется в описании заготовки, так как источник случайности по умолчанию является только приблизительно непредвзятым источником независимо выбранных битов. Если бы это был идеальный источник случайных выбранных битов, то алгоритм будет выбирать перемутации с идеальной единообразием.

Эта реализация проходит по списку назад, начиная с последнего элемента до второго, многократно переключяя случайным образом выбранный элемент на "текущую позицию". Элементы случайным образом выбираются из части списка, который выполняется из первого элемента в текущее положение включительно.

Этот метод выполняется в линейном времени. Если указанный список не реализует RandomAccess интерфейс и имеет большой размер, эта реализация сбрасывает указанный список в массив перед перемешиванием и сбрасывает массив обратно в список. Это позволяет избежать четырехкратного поведения, которое приведет к перетасовке списка "последовательный доступ".

Документация по Java для java.util.Collections.shuffle(java.util.List<?>).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Shuffle(IList<Object>, Random)

Случайным образом перемежайте указанный список с помощью указанного источника случайности.

[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

Параметры

list
IList<Object>

список, который нужно перетасовать.

rnd
Random

источник случайности, используемый для перетасовки списка.

Атрибуты

Комментарии

Случайным образом перемежайте указанный список с помощью указанного источника случайности. Все перемутации происходят с равной вероятностью, предполагая, что источник случайности является справедливым.

Эта реализация проходит по списку назад, начиная с последнего элемента до второго, многократно переключяя случайным образом выбранный элемент на "текущую позицию". Элементы случайным образом выбираются из части списка, который выполняется из первого элемента в текущее положение включительно.

Этот метод выполняется в линейном времени. Если указанный список не реализует RandomAccess интерфейс и имеет большой размер, эта реализация сбрасывает указанный список в массив перед перемешиванием и сбрасывает массив обратно в список. Это позволяет избежать четырехкратного поведения, которое приведет к перетасовке списка "последовательный доступ".

Документация по Java для java.util.Collections.shuffle(java.util.List<?>, java.util.Random).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к