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.util.Collections.shuffle(java.util.List<?>)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

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.util.Collections.shuffle(java.util.List<?>, java.util.Random)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于