java无重复随机生成器

标签 java random linked-list generator

我正在尝试使用随机生成器生成二维数组。基本上,每列应包含一个 1-50 之间的随机值,该值不重复,但问题是,我无法在同一行或程序中的任何其他行或列上获得重复值。换句话说,每个 I 整数应该只显示一次。我的对象是通过链表创建的,一旦我弄清楚了,我可能会将算法集成到那里,但现在,这就是我所做的。

int[] array = new int[50];



        for(int i=1;i<=9;i++)
        {

        int[] grades = new int[5];
            for(int j=0;j<=4;j++)
            {

            int unique = gen.nextInt(50)+1;


            grades[j] = unique; 
            }
            list.add(new Student(i, grades));

        }

        System.out.println(list);

我的输出:

Student1: 20 49 45 16 13 
Student2: 28 10 11 30 6 
Student3: 13 25 37 31 49 
Student4: 8 23 8 12 32 
Student5: 22 18 35 2 7 
Student6: 35 8 16 23 36 
Student7: 35 3 15 42 2 
Student8: 43 12 44 2 35 
Student9: 12 21 36 23 12 

所以我的问题是这样的。如何在不重复值的情况下实现随机生成。通常我现在会尝试收集列表,但我正在尝试使用 java.util.Random 来执行此操作,就我个人而言,我会以不同的方式执行此操作,但我得到了指示。谢谢

最佳答案

这就是我要做的:

获取数字 1-50 的 ArrayList,然后在列表上使用 Collections.shuffle。

关于java无重复随机生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16284894/

相关文章:

javascript - 如何在函数内部(在函数上)执行 for 循环?

data-structures - 链表与向量

c++ - while 循环总是提前结束一个循环

JAVA从数组转为列表并使用shuffle方法

java - 了解 Spring Data JPA @NoRepositoryBean 接口(interface)

java - 什么是 java 中年和月元组的好 hashCode

C++生成适合TSP的随机图

java - 在 Java 中生成随机数时出错。 (包括代码和错误)

c++ - 链表-循环去无穷大

java - 如何创建具有基本依赖项的 deb 包?