首页 > 项目 > 当前页面

java代码,随机打乱一个数组

2025-02-21 NEW个对象

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】进行互换

相关文章

  • CMS与G1的区别?

    1、CMS是老年代回收器,可以配合其它Serial和ParNew收集器一起使用。 2、G1是全局范围的,不需要配合其它垃圾器使用

    NEW个对象 2025-01-09

  • 什么是反射机制?为什么慢?

    反射机制是指在运行时能获取到自身信息,只要给出类名,就可以访问类的属性和方法。

    NEW个对象 2025-01-09

  • 线程和进程的区别?

    线程和进程的区别?

    NEW个对象 2025-01-09

NEW个对象 NEW个对象
JAVA是世界上最好的语言