使用Collections类的shuffle():
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
list.add(arr[i]);
}
Collections.shuffle(list);
Object[] newArr = list.toArray();
return newArr;
随机取出存入新数组:
int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] newArr = new int[arr.length];
int end = arr.length;
Random rad = new Random();
for (int i = 0; i < arr.length; i++) {
int index = rad.nextInt(end);
newArr[i] = arr[index];
// 从后面拿一个数覆盖已取出的数
arr[index] = arr[end - 1];
// 生成随机数的范围减1
end--;
}
return newArr;