java代码,随机打乱一个数组
import java.util.concurrent.ThreadLocalRandom;
public class ShuffleArray {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};
shuffleArray(array);
System.out.println(Arrays.toString(array));
}
public static void shuffleArray(int[] array) {
for (int i = array.length - 1; i > 0; i--) {
int j = ThreadLocalRandom.current().nextInt(i + 1);
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
问题1:j不会越界吗?
next生成数在【0到i+1】之间。
问题2:代码的具体逻辑
生成一个【0到i+1】的之间的随机数,与【i】进行互换
上一篇:如何创建线程池?
下一篇: 无
相关文章
-
java代码,随机打乱一个数组
问题1:j不会越界吗? next生成数在【0到i+1】之间。 问题2:代码的具体逻辑 生成一个【0到i+1】的之间的随机数,与【i】进行互换
NEW个对象 2025-02-21
-
CMS与G1的区别?
1、CMS是老年代回收器,可以配合其它Serial和ParNew收集器一起使用。 2、G1是全局范围的,不需要配合其它垃圾器使用
NEW个对象 2025-01-09
-
如何出现栈溢出?
递归不断的调用自己,没有终止条件。
NEW个对象 2025-02-11