Java verfügt über viele integrierte Funktionen, um verschiedene Vorgänge an Sammlungen oder anderen Datentypen auszuführen, und eine davon ist Shuffle. Die Shuffle-Funktion ist in vielen anderen Sprachen wie Python verfügbar.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Deklaration für Shuffle-Methode:
public static void shuffle(List> list)
public static void shuffle(List> list, Random random)
Parameter:
Rücksendungen:
Im folgenden Beispiel haben wir eine Liste aus einem Array mit einigen Alphabeten erstellt und die Shuffle-Methode verwendet, um das Array zu mischen. Jedes Mal, wenn Sie laufen, erhalten Sie eine andere gemischte Liste.
Code:
import java.util.*; public class CollectionsShuffleExampleWithoutRandom { public static void main(String[] args) { Listlist = Arrays.asList("R", "A", "H", "U", "L"); System.out.println("Before Shuffle : "+list); Collections.shuffle(list); System.out.println("After shuffle : "+list); } }
Ausgabe:
Im folgenden Beispiel erstellen wir eine verknüpfte Liste von Ganzzahlen und fügen ihr einige Ganzzahlen hinzu. Aber hier haben wir ein weiteres Argument übergeben, nämlich die Zufallsfunktion, die zur Quelle der Zufälligkeit wird. Dann haben wir die Random-Funktion mit dem Startwert 5 übergeben. Dies ist eine andere Variante, oder wir können sagen, die Methode der Verwendung der Shuffle-Funktion mit Randomness.
Code:
import java.util.*; public class CollectionsShuffleWithRandom { public static void main(String[] args) { //Create linked list object LinkedListlist = new LinkedList (); //Add values list.add(90); list.add(100); list.add(1); list.add(10); list.add(20); System.out.println("Before Shuffle = "+list); //Random() to shuffle the given list. Collections.shuffle(list, new Random()); System.out.println("Shuffled with Random() = "+list); //Random(5) to shuffle the given list. Collections.shuffle(list, new Random(5)); System.out.println("Shuffled with Random(5) = "+list); } }
Ausgabe:
Wenn Sie mehr Kontrolle über das Mischen wünschen, können Sie Ihre eigene Methode zum Mischen der Liste mit der Zufallsmethode und einen anderen Ansatz zum Mischen der Liste schreiben. Diese Methode ist flexibler und lässt sich einfacher in jede Anwendung integrieren. Sie können tatsächlich verstehen, wie Shuffle in der integrierten Methode von Java funktioniert.
Eingabe:Ein int-Array
Ausgabe:Gemischtes Array (in zufälliger Reihenfolge)
Beispiel:
public static int[] ShuffleArray(int[] array){ Random rand = new Random(); // Random value generator for (int i=0; i Nach dem Login kopieren
Die obige Funktion, bei der Sie nur eine Array-Ganzzahl übergeben müssen, wird ein gemischtes Array zurückgegeben. Innerhalb der Funktion können Sie sehen, dass wir das Array bis zu seiner Länge iterieren und eine Zufallszahl generieren. Diese wird dann als Array-Index behandelt, der mit einem anderen Array ausgetauscht wird. Auf diese Weise werden die Elemente innerhalb eines Arrays ausgetauscht. Das resultierende Array wird ausgetauscht.
Aus der obigen Funktion können wir ein Grundkonzept der Shuffle-Funktion erhalten, bei der eine Liste von Werten gesendet wird und jedes Mal eine Zufallszahl generiert wird, während die Elemente im Array iteriert werden. Das Element wird mit einem anderen Element in derselben Liste ausgetauscht, wobei der Index zufällig aus einer Zufallsfunktion generiert wird.
Ausnahmen:
Es kann viele Situationen geben, in denen die unten aufgeführte Zufallsfunktion einige Anwendungen bietet:
Im obigen Artikel haben wir verstanden, wie Shuffle funktioniert und wie Sie es verwenden können. Es kann mehrere Anwendungsfälle geben, in denen Sie die Shuffle-Funktion mit Zufallsparametern oder ohne Zufallsparameter verwenden würden, und einige Anwendungen benötigen möglicherweise eine andere flexible Implementierung, in der Sie Ihre eigene Shuffle-Funktion mit der Zufallsfunktion von Java schreiben können.
Das obige ist der detaillierte Inhalt vonShuffle() in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!