中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

random.next如何避免重復值問題

小樊
92
2024-07-04 19:26:20
欄目: 編程語言

要避免重復值問題,可以采取以下方法:

  1. 使用Set來存儲已經生成過的隨機數,每次生成隨機數之前先檢查Set中是否包含這個隨機數,如果包含則重新生成一個新的隨機數。
Set<Integer> set = new HashSet<>();
Random random = new Random();

int nextRandom;
do {
    nextRandom = random.nextInt();
} while(set.contains(nextRandom));
set.add(nextRandom);
  1. 可以將生成的隨機數存儲到一個數組中,每次生成隨機數之前先從數組中隨機選擇一個值,并將其與數組最后一個元素進行交換,隨機數的范圍縮小到數組中前面的元素。
int[] randomArr = new int[N];
for (int i = 0; i < N; i++) {
    randomArr[i] = random.nextInt();
}

int nextRandom = randomArr[N - 1];
int index = random.nextInt(N - 1);
int temp = randomArr[index];
randomArr[index] = randomArr[N - 1];
randomArr[N - 1] = temp;

這樣每次生成的隨機數都不會重復,可以有效避免重復值問題。

0
安国市| 海南省| 道孚县| 东宁县| 新晃| 崇阳县| 灵川县| 铜鼓县| 丰镇市| 隆回县| 延庆县| 海城市| 洪湖市| 广灵县| 谷城县| 丰顺县| 井研县| 玉溪市| 阿勒泰市| 奇台县| 河间市| 汤原县| 集贤县| 青冈县| 阿瓦提县| 鞍山市| 博乐市| 昭平县| 长岛县| 社会| 绥宁县| 怀柔区| 灵宝市| 贵定县| 盐城市| 大同市| 平顶山市| 吕梁市| 应城市| 荔波县| 灵寿县|