Rumah >Java >javaTutorial >Bagaimana untuk Memilih Elemen Rawak daripada HashSet atau LinkedHashSet di Java?

Bagaimana untuk Memilih Elemen Rawak daripada HashSet atau LinkedHashSet di Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 02:57:30754semak imbas

How to Choose a Random Element from a HashSet or LinkedHashSet in Java?

Memilih Elemen Rawak daripada Set

Mendapatkan semula elemen rawak daripada set boleh menjadi operasi yang berguna dalam pelbagai senario pengaturcaraan. Java menyediakan dua jenis set biasa, HashSet dan LinkedHashSet, masing-masing dengan ciri uniknya. Artikel ini meneroka pendekatan untuk memilih unsur rawak daripada set ini.

HashSet

HashSet ialah koleksi tidak tertib yang menjamin elemen unik. Untuk memilih entri rawak, tentukan saiz set dan jana integer rawak dalam julat itu. Lelaran melalui elemen, kira setiap satu sehingga mencapai indeks yang dipilih secara rawak dan kembalikan elemen yang sepadan.

<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

A LinkedHashSet memanjangkan HashSet dengan mengekalkan sisipan pesanan. Pendekatan yang sama yang dinyatakan di atas boleh digunakan untuk mendapatkan semula elemen rawak, memandangkan susunan sisipan dikekalkan.

<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>

Kaedah ini menyediakan cara yang mudah untuk memilih elemen rawak daripada HashSet atau LinkedHashSet dalam Java. Ia boleh dilaksanakan dalam pelbagai aplikasi, seperti menjana koleksi yang dikocok, memilih item untuk eksperimen simulasi atau mencipta struktur data rawak pseudo.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Elemen Rawak daripada HashSet atau LinkedHashSet di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn