阅读量:0
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
对象来打乱列表。这样,每次运行程序时,打乱的结果都将相同,因为随机源是确定的。