產生不重複隨機數的 Java 方法
在 Java 中創建一組唯一的隨機數可能是一個挑戰。考慮以下場景,我們需要用 10,000 個範圍從 0 到 9999 的非重複整數填滿陣列。
以下程式碼片段嘗試使用 Java 內建的 Random 類別來解決此問題:
import java.util.Random; public class Sort { public static void main(String[] args) { int[] nums = new int[10000]; Random randomGenerator = new Random(); for (int i = 0; i < nums.length; ++i) { nums[i] = randomGenerator.nextInt(10000); } } }
但是,由於在使用取模運算將隨機數對應到所需範圍。為了確保數字的唯一性,我們可以利用 Java 的 Collections 類別。
使用 Java Collections.shuffle() 的解決方案
Java 中產生不重複隨機數的首選方法是利用 Collections.shuffle() 方法。它的工作原理如下:
例如下面的代碼片段演示了這種方法:
public static void main(String[] args) { Integer[] arr = new Integer[1000]; for (int i = 0; i < arr.length; i++) { arr[i] = i; } Collections.shuffle(Arrays.asList(arr)); System.out.println(Arrays.toString(arr)); }
這種方法保證數組中的每個數字都是唯一的,並且滿足生成非重複隨機數。
以上是如何在Java中產生不重複的隨機數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!