您当前的位置:首页 > 圈子

java随机数random怎么用不重复

2024-10-21 18:59:24 作者:石家庄人才网

石家庄人才网今天给大家分享《java随机数random怎么用不重复》,石家庄人才网小编对内容进行了深度展开编辑,希望通过本文能为您带来解惑。

在Java编程中,经常需要生成随机数来实现一些特定的功能,例如抽奖、随机排序等。Java提供了Random类来生成随机数,但是默认情况下,Random类生成的随机数可能会重复。那么,如何使用Java随机数Random生成不重复的随机数呢?本文将详细介绍几种常用的方法。

方法一:使用Set集合

Set集合的特点是不包含重复元素,因此可以使用Set集合来存储生成的随机数,直到Set集合中元素个数达到要求为止。具体实现如下:

```javaimport java.util.HashSet;import java.util.Random;import java.util.Set;

java随机数random怎么用不重复

public class RandomNumber { public static void main(String[] args) { // 生成10个不重复的随机数 int count = 10; // 创建一个Set集合来存储随机数 Set randomSet = new HashSet<>(); // 创建Random对象 Random random = new Random(); // 循环生成随机数,直到Set集合中元素个数达到count while (randomSet.size() < count) { // 生成一个随机数 int randomNumber = random.nextInt(100); // 生成0-99之间的随机数 // 将随机数添加到Set集合中 randomSet.add(randomNumber); } // 打印生成的随机数 System.out.println(randomSet); }}```

方法二:使用Collections.shuffle()方法

可以先创建一个包含所有可能取值的List集合,然后使用Collections.shuffle()方法将List集合中的元素随机打乱顺序,最后从List集合中取出指定数量的元素即可。具体实现如下:

```javaimport java.util.ArrayList;import java.util.Collections;import java.util.List;public class RandomNumber {

java随机数random怎么用不重复

public static void main(String[] args) { // 生成10个1-100之间的不重复随机数 int count = 10; // 创建一个List集合来存储所有可能取值 List numberList = new ArrayList<>(); for (int i = 1; i <= 100; i++) { numberList.add(i); } // 使用Collections.shuffle()方法将List集合中的元素随机打乱顺序 Collections.shuffle(numberList); // 从List集合中取出前count个元素 List randomList = numberList.subList(0, count); // 打印生成的随机数 System.out.println(randomList); }}```

方法三:使用数组标记法

可以创建一个boolean类型的数组,数组的索引表示随机数的取值范围,数组的值表示该随机数是否已经被选中。每次生成一个随机数后,将对应的数组元素设置为true,如果下次生成的随机数对应的数组元素已经为true,则重新生成。具体实现如下:

```javaimport java.util.Random;public class RandomNumber {

java随机数random怎么用不重复

public static void main(String[] args) { // 生成10个1-100之间的不重复随机数 int count = 10; // 创建一个boolean类型的数组,用来标记随机数是否已经被选中 boolean[] used = new boolean[100]; // 创建Random对象 Random random = new Random(); // 创建一个数组来存储生成的随机数 int[] randomNumbers = new int[count]; // 循环生成随机数 int index = 0; while (index < count) { // 生成一个随机数 int randomNumber = random.nextInt(100); // 如果该随机数已经被选中,则重新生成 if (used[randomNumber]) { continue; } // 将该随机数标记为已选中 used[randomNumber] = true; // 将该随机数添加到数组中 randomNumbers[index++] = randomNumber; } // 打印生成的随机数 for (int randomNumber : randomNumbers) { System.out.print(randomNumber + " "); } }}```

石家庄人才网小编对《java随机数random怎么用不重复》内容分享到这里,如果有相关疑问请在本站留言。

版权声明:《java随机数random怎么用不重复》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/quanzi/20267.html