Ein zufälliges Element aus einer Menge auswählen
Das Abrufen eines zufälligen Elements aus einer Menge kann in verschiedenen Programmierszenarien ein praktischer Vorgang sein. Java bietet zwei gängige Arten von Mengen: HashSet und LinkedHashSet, von denen jede ihre eigenen einzigartigen Eigenschaften aufweist. In diesem Artikel werden die Ansätze zur Auswahl eines zufälligen Elements aus diesen Mengen untersucht.
HashSet
Ein HashSet ist eine ungeordnete Sammlung, die eindeutige Elemente garantiert. Um einen zufälligen Eintrag auszuwählen, bestimmen Sie die Größe des Satzes und generieren Sie eine zufällige Ganzzahl innerhalb dieses Bereichs. Durchlaufen Sie die Elemente, zählen Sie jedes einzelne, bis der zufällig ausgewählte Index erreicht ist, und geben Sie das entsprechende Element zurück.
<code class="java">int size = myHashSet.size(); int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this int i = 0; for(Object obj : myhashSet) { if (i == item) return obj; i++; }</code>
LinkedHashSet
Ein LinkedHashSet erweitert HashSet, indem es die Einfügung beibehält Befehl. Der gleiche oben erwähnte Ansatz kann zum Abrufen eines zufälligen Elements angewendet werden, da die Einfügungsreihenfolge beibehalten wird.
<code class="java">int size = myHashSet.size(); int item = new Random().nextInt(size); // In real life, the Random object should be rather more shared than this int i = 0; for(Object obj : myhashSet) { if (i == item) return obj; i++; }</code>
Diese Methoden bieten eine einfache Möglichkeit, ein zufälliges Element aus einem HashSet oder einem LinkedHashSet in Java auszuwählen. Sie können in verschiedenen Anwendungen implementiert werden, beispielsweise zum Generieren gemischter Sammlungen, zum Auswählen von Elementen für Simulationsexperimente oder zum Erstellen pseudozufälliger Datenstrukturen.
Das obige ist der detaillierte Inhalt vonWie wähle ich in Java ein zufälliges Element aus einem HashSet oder LinkedHashSet aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!