Collections.shuffle()
是 Java 集合框架中的一个方法,它用于将列表中的元素随机排序。这个方法接收一个 List
类型的参数,并使用默认的随机源(通常是 Random
类的实例)来重新排列列表中的元素。
以下是 Collections.shuffle()
方法的基本用法:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ShuffleExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
numbers.add(i);
}
System.out.println("Before shuffle: " + numbers);
Collections.shuffle(numbers);
System.out.println("After shuffle: " + numbers);
}
}
在这个示例中,我们创建了一个包含 1 到 10 的整数的列表,并在调用 Collections.shuffle()
方法之前和之后打印列表的内容。你会看到,在调用 shuffle()
方法之后,列表中的元素顺序已经被随机打乱。
如果你想要使用自定义的随机源来打乱列表,可以使用 Collections.shuffle()
方法的另一个版本,它接收一个 List
和一个 Random
对象作为参数:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class CustomShuffleExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
numbers.add(i);
}
Random customRandom = new Random(42); // 使用自定义的随机种子
System.out.println("Before shuffle: " + numbers);
Collections.shuffle(numbers, customRandom);
System.out.println("After shuffle: " + numbers);
}
}
在这个示例中,我们使用了一个带有自定义种子的 Random
对象来打乱列表。这样,每次运行程序时,打乱的结果都将相同,因为随机源是确定的。