Collections.Shuffle 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
参数
- 属性
注解
使用默认随机源随机化指定列表。 所有排列都发生的可能性大致相同。
对冲“近似”用于上述说明,因为默认随机源只是独立选择位的无偏见来源。 如果它是随机选择位的完美来源,则算法将选择具有完美统一性的排列。
此实现将列表向后遍历,从最后一个元素到第二个元素,重复将随机选择的元素交换到“当前位置”。 从从第一个元素运行到当前位置(含)的列表部分随机选择元素。
此方法以线性时间运行。 如果指定的列表未实现 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
参数
- rnd
- Random
用于随机列表的源。
- 属性
注解
使用指定的随机源随机排列指定的列表。 假设随机来源公平,所有排列都以同等的可能性发生。
此实现将列表向后遍历,从最后一个元素到第二个元素,重复将随机选择的元素交换到“当前位置”。 从从第一个元素运行到当前位置(含)的列表部分随机选择元素。
此方法以线性时间运行。 如果指定的列表未实现 RandomAccess
接口且很大,则此实现会将指定的列表转储到数组中,然后再将其洗牌数组转储回列表中。 这可以避免二次行为,因为已就地对“顺序访问”列表进行洗牌。
适用于 . 的 java.util.Collections.shuffle(java.util.List<?>, java.util.Random)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。