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】进行互换
上一篇:如何创建线程池?
下一篇:数据库出现死锁的案例
相关文章
-
OOM问题排查过程?
OOM问题排查过程? 1、分析内存的使用情况 jstat -gc pid 1000,查看内存使用情况
NEW个对象 2024-10-26
-
java中a=a+b和a+=b真的一样吗?
这是一道笔试题,说实话我就是再复习两年,也不会复习到这个题。 既然遇到了,就了解清楚吧:
NEW个对象 2025-01-13
-
什么是反射机制?为什么慢?
反射机制是指在运行时能获取到自身信息,只要给出类名,就可以访问类的属性和方法。
NEW个对象 2025-01-09