在java中生成唯一的随机数

我想生成从1到9的随机数,我希望它们是唯一的。 这是我写的代码,它给了我9个不同的数字,从1到9,但我不知道生成唯一的数字。

int data[] = new int[10]; for(int i = 0; i < data.length; i++) { Random randomGenerator = new Random(); data[i] = randomGenerator.nextInt(10); System.out.println(data[i]); } 

使用1..9填充List list ,然后:

 Collections.shuffle(list); 

请注意,要填充10的数组,您必须有一个副本。

  1. 在数组中存储1到9个数字。

  2. 生成1到9之间的随机数作为位置并返回数组[position-1]以获取值

  3. 在数组中使用数字后,将值标记为-1。

  4. 如果数组中的值为-1,则再次获取随机数