Die Hauptforschung in diesem Artikel ist der relevante Inhalt der Methode colleces.shuffle (). Schauen wir uns den folgenden Inhalt an.
Es gibt eine statische Shuffle () -Methode unter der Klasse java.util.Collections, wie folgt:
1) Statische Leerwahn (Liste <?> Liste) Verwenden Sie die Standardquelle für die Zufallsquelle, um die Liste zu verarbeiten, und die Möglichkeit aller Permutationen ist ungefähr gleich.
2) Static Void Shuffle (Liste <?> Liste, Random Rand) führt die angegebene Liste mit der angegebenen Zufallsquelle aus. Die Möglichkeit aller Permutationen ist ungefähr gleich, da die Zufallsquelle fair ist.
Einfach gesagt, es ist wie ein Shuffle, der die ursprüngliche Reihenfolge zufällig stört.
Hinweis: Wenn Sie ein ganzzahliges Array erhalten, verwenden Sie die Methode Arrays.aslist (), um es in eine Sammelklasse umzuwandeln, es gibt zwei Möglichkeiten:
1) Verwenden Sie die Liste <Integer> list = arrayList (arrays.aslist (ia)) und verwenden Sie Shuffle (), um sie zu stören, die Reihenfolge des zugrunde liegenden Array nicht ändert.
2) Verwenden Sie die Liste <Integer> list = arrays.aSlist (IA) und verwenden Sie dann Shuffle (), um die Reihenfolge des zugrunde liegenden Arrays zu stören. Das Codebeispiel lautet wie folgt:
Paket ahu; importieren java.util.*; public class modify {public static void main (String [] args) {random rand = new Random (47); Integer [] ia = {0,1,2,3,4,5,6,7,8,9}; Liste <Integer> list = New Arraylist <Integer> (arrays “(arraylist <integer) (arrays“ (arraylist <integer> (arrays) (arrays) (arraylist (arrays) (arrays) (arraylist (arrays) (arrays) (arrays) (arraylist) (arraylist) (arraylist (arrays “(arraylist) (arraysger> (arrays) (arrays) (arkeger>) Shufflig: "+list); Collections.Shuffle (Liste, Rand); System.out.println (" Nach dem Mischen: "+liste); System.out.println (" Array: "+arrays.toString (ia)); LIST <Ganze> list1 = arrays.aslist (ia); "+list1); Collections.Shuffle (List1, Rand); System.out.println (" Nach dem Mischen: "+list1); System.out.println (" Array: "+arrays.toString (IA));}}}}}}}}}}}}}Die Betriebsergebnisse sind wie folgt:
3, 9] After shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] After shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] After shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] After shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] After shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Nach dem Mischen: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Nach dem Mischen nach Mischen: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7] Nach dem Mischen: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7, 7]
Im ersten Fall wird die Ausgabe von Arrays.aSlist () an den Konstruktor von ArrayList () übergeben, der eine ArrayList erstellt, die das Element der IA verweist. Daher ändert das Stören dieser Referenzen das Array nicht. Wenn jedoch das Ergebnis von Arrays.aSlist (IA) direkt verwendet wird, ändert diese Störung die Reihenfolge der IA. Es ist wichtig zu erkennen, dass das von arrays.aslist () erstellte Listenobjekt das zugrunde liegende Array als physische Implementierung verwenden wird. Solange die von Ihnen ausgeführte Aktion diese Liste ändert und Sie nicht möchten, dass das ursprüngliche Array geändert wird, sollten Sie eine Kopie in einem anderen Container erstellen.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über die Analyse der methodischen Methode der Sammlung.Shuffle (). Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!