Java.util.Collections 类

java.util.Collections.shuffle() 方法用于使用指定的随机源随机排列指定的列表。假设随机源是公平的,所有排列发生的可能性相同。

语法

public static void shuffle(List<?> list,
                           Random rnd)

参数

list 指定要打乱的列表。
rnd 指定来源用于随机播放列表的随机性。

返回值

void 类型。

异常

如果指定的列表或其列表迭代器不支持设置操作,则抛出UnsupportedOperationException

示例:

在下面的示例中,java.util.Collections.shuffle()方法用于使用指定的随机源对给定列表的元素进行洗牌。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建列表对象
    List<Integer> MyList = new ArrayList<Integer>();

    //填充我的列表
    MyList.add(10);
    MyList.add(20);
    MyList.add(30);
    MyList.add(40);
    MyList.add(50);

    //打印我的列表
    System.out.println("MyList contains: " + MyList); 

    //创建一个随机对象
    Random rand = new Random();

    //使用以下命令对列表中的元素进行混洗
    //随机性来源
    Collections.shuffle(MyList, rand);

    //打印我的列表
    System.out.println("MyList contains: " + MyList); 
  }
}

第一个上述代码的可能结果可能是:

MyList contains: [10, 20, 30, 40, 50]
MyList contains: [40, 30, 10, 50, 20]