如何在 Java 中随机化和打乱数字数组?
java 8object oriented programmingprogramming
首先,创建一个整数数组 −
int[] arr = { 20, 40, 60, 80, 100, 120, 140, 160, 180, 200};
现在,创建一个 Random 类对象 −
Random rand = new Random();
循环直到达到数组长度并打乱元素顺序 −
for (int i = 0; i < arr.length; ++i) { int index = rand.nextInt(arr.length - i); int tmp = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = arr[index]; arr[index] = tmp; }
示例
import java.util.Arrays; import java.util.Random; public class Demo { public static void main(String[] args) { int[] arr = { 20, 40, 60, 80,100, 120, 140, 160, 180, 200}; System.out.println("The integer array = "+Arrays.toString(arr)); Random rand = new Random(); for(int i = 0; i < arr.length; ++i) { int index = rand.nextInt(arr.length - i); int tmp = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = arr[index]; arr[index] = tmp; } System.out.println("Shuffle integer array = "+Arrays.toString(arr)); } }
输出
The integer array = [20, 40, 60, 80, 100, 120, 140, 160, 180, 200] Shuffle integer array = [160, 100, 20, 60, 140, 200, 120, 40, 80, 180]