在Java中,Collections.shuffle()
方法用于將列表中的元素隨機排序。這個方法有兩個版本:一個接受列表作為參數,另一個接受列表和隨機數生成器作為參數。
public static void shuffle(List<?> list)
這個方法接受一個列表作為參數,并使用默認的隨機數生成器(通常是Random
類的實例)來隨機排序列表中的元素。
示例:
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);
}
Collections.shuffle(numbers);
System.out.println("Shuffled list: " + numbers);
}
}
public static void shuffle(List<?> list, Random rnd)
這個方法接受一個列表和一個隨機數生成器作為參數。你可以提供自定義的隨機數生成器,以便更好地控制隨機化過程。
示例:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class ShuffleExample {
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); // 使用自定義的隨機數生成器
Collections.shuffle(numbers, customRandom);
System.out.println("Shuffled list: " + numbers);
}
}
在這個示例中,我們使用了一個帶有種子值(42)的Random
實例作為自定義隨機數生成器。這樣,每次運行程序時,隨機化的結果都將相同,因為隨機數生成器的行為是確定性的。