Java-Ansatz zur Generierung sich nicht wiederholender Zufallszahlen
Das Erstellen einer Reihe eindeutiger Zufallszahlen in Java kann eine Herausforderung sein. Stellen Sie sich das folgende Szenario vor, in dem wir ein Array mit 10.000 sich nicht wiederholenden Ganzzahlen im Bereich von 0 bis 9999 füllen müssen.
Der folgende Codeausschnitt versucht, dieses Problem mithilfe der in Java integrierten Random-Klasse zu beheben:
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); } } }
Dieser Code kann jedoch aufgrund der Möglichkeit von Kollisionen bei der Verwendung der Modulo-Operation zum Zuordnen der Zufallszahl zu doppelten Zahlen führen gewünschten Bereich. Um eindeutige Zahlen sicherzustellen, können wir die Collections-Klasse von Java nutzen.
Lösung mit Java Collections.shuffle()
Der bevorzugte Ansatz zum Generieren sich nicht wiederholender Zufallszahlen in Java besteht darin, die Methode Collections.shuffle() zu verwenden. So funktioniert es:
Zum Beispiel veranschaulicht das folgende Codefragment diese Methode:
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)); }
Dieser Ansatz garantiert, dass jede Zahl im Array eindeutig ist und die Anforderung erfüllt, nicht- Wiederholen von Zufallszahlen.
Das obige ist der detaillierte Inhalt vonWie kann ich in Java sich nicht wiederholende Zufallszahlen generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!