如何在Java中随机化和随机排列数字数组?

How to randomize and shuffle array of numbers in Java?

首先,创建一个整数数组-

1
int[] arr = { 20, 40, 60, 80,100, 120, 140, 160, 180, 200};

现在,创建一个Random类对象-

1
Random rand = new Random();

循环直到数组的长度并随机播放元素-

1
2
3
4
5
6
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;
}

现场演示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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));
 }
}

输出量

1
2
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]