如何在Java中正确随机洗牌一个二维数组?
是。创建一个表示2D数组的列表,然后使用Collections.shuffle(列表)。
示例
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Tester {
public static void main(String[] args) {
List<int[]> rows = new ArrayList<>();
rows.add(new int[]{1,2,3});
rows.add(new int[]{4,5,6});
rows.add(new int[]{7,8,9});
System.out.println("Before Shuffle");
System.out.println("[0][0] : " + rows.get(0)[0]);
System.out.println("[1][1] : " + rows.get(1)[1]);
System.out.println("After Shuffle");
Collections.shuffle(rows);
System.out.println("[0][0] : " + rows.get(0)[0]);
System.out.println("[1][1] : " + rows.get(1)[1]);
}
}输出结果
Before Shuffle [0][0] : 1 [1][1] : 5 After Shuffle [0][0] : 7 [1][1] : 2