admin 管理员组文章数量: 1184232
2023年12月21日发(作者:matchpoint翻译)
JAVA生成不重复随机数算法
在Java中,有多种方式可以生成不重复的随机数。以下是基于不同的数据结构和算法来生成不重复的随机数的示例。
1. 使用ArrayList和e(方法:
```java
import .*;
public class RandomNumberGenerator
public static void main(String[] args)
int range = 100; // 生成随机数的范围
int count = 10; // 生成随机数的数量
List
for (int i = 1; i <= range; i++)
(i);
}
e(numbers);
for (int i = 0; i < count; i++)
n((i));
}
}
```
2. 使用HashSet:
```java
import .*;
public class RandomNumberGenerator
public static void main(String[] args)
int range = 100; // 生成随机数的范围
int count = 10; // 生成随机数的数量
Set
Random random = new Random(;
while (( < count)
int randomNumber = t(range) + 1;(randomNumber);
}
for (int number : numbers)
n(number);
}
}
```
3. 使用Fisher-Yates洗牌算法:
```java
import .*;
public class RandomNumberGenerator
public static void main(String[] args)
int range = 100; // 生成随机数的范围
int count = 10; // 生成随机数的数量
int[] numbers = new int[range];
for (int i = 0; i < range; i++)
numbers[i] = i + 1;
}
Random random = new Random(;
for (int i = range - 1; i > 0; i--)
int j = t(i + 1);
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
for (int i = 0; i < count; i++)
n(numbers[i]);
}
}
```
以上是三种常见的生成不重复随机数的算法,每种算法都有其特点和适用场景。根据需求选择适当的算法可以生成所需的不重复随机数。
版权声明:本文标题:JAVA生成不重复随机数算法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1703155562a440243.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论