HashSet di Java adalah salah satu aspek terpenting dari . Ia biasanya digunakan untuk menyimpan nilai unik dengan cara yang tidak tersusun. Melalui media artikel ini tentang HashSet di Java, saya akan memberi anda panduan lengkap mengenai apa sebenarnya HashSet dan bagaimana anda dapat menggunakannya dalam aplikasi anda.
Berikut adalah topik yang dibahas dalam artikel ini:
- HashSet di Java
- Java HashSet vs HashMap
- Hierarki HashSet
- Pembina kelas java.util.HashSet
- Kaedah Kelas java.util.HashSet
- Melaksanakan HashSet dalam Program Java
Mari mulakan dengan memahami terlebih dahulu apa itu HashSet di Java.
HashSet di Java
java.util.HashSet kelas adalah anggota kerangka koleksi Java yangmewarisi kelas AbstractSet danmelaksanakanTetapkan antara muka . Ia secara implisit menerapkan hashtable untuk membuat dan menyimpan koleksi elemen unik. Hashtable tidak lain adalah contoh kelas HashMap yang menggunakan mekanisme pencucian untuk menyimpan maklumat dalam HashSet.
salinan mendalam java vs salinan cetek
Hashing adalah proses menukar kandungan maklumat menjadi nilai unik yang lebih dikenali sebagai kod hash. Kod hash ini kemudian digunakan untuk mengindeks data yang berkaitan dengan kunci. Keseluruhan proses mengubah kunci maklumat menjadi kod hash dilakukan secara dalaman.
Sekarang untuk pemahaman yang lebih baik mengenai HashSet di Java, izinkan saya menyenaraikan beberapa ciri-cirinya:
- HashSet di Java tidak membenarkan nilai pendua.
- Ia boleh mengandungi nilai null.
- HashSet tidak mengikuti perintah penyisipan untuk menyimpan data melainkan menggunakan kod hash untuk mengindeks nilai di dalamnya.
- Ia bukan- disegerakkan yang secara automatik menjadikannya tidak selamat utas.
- Kelas HashSet juga menerapkan Cloneable danAntara muka bersiri.
Sekarang setelah anda mengetahui apa sebenarnya HashSet di Java, mari kita bergerak lebih jauh dengan artikel ini dan jelaskan perbezaan antara HashMap dan HashSet di Java.
Java HashSet vs HashMap
HashSet | Peta Hash |
Pelaksanaanjava.util.Tetapkan antara muka | Pelaksanaanjava.util.Map |
Menyimpan data sebagai objek | Menyimpan data dalam bentuk pasangan nilai-kunci |
HashSet hanya memerlukan satu parameter untuk inisialisasi objeknya | Ia memerlukan dua parameter (kunci, nilai) untuk inisialisasi objeknya |
Tidak membenarkan unsur pendua | Tidak membenarkan kunci pendua tetapi anda boleh menyimpan nilai pendua |
Membolehkan satu nilai kosong | Membolehkan satu kekunci kosong dan sebilangan besar nilai nol |
Penggunaan HashSet tambah ()kaedah untuk menambah atau menyimpan data | HashMap menggunakan kaedah put () untuk menyimpan data |
Sekarang setelah anda mempunyai perbezaan yang jelas antara HashMap dan HashSet, mari kita fokus lagi pada HashSet dan selami lebih mendalam lagi. Pada bahagian seterusnya artikel ini, saya akan memperkenalkan anda kepada hierarki HashSet lengkap di Java.
Hierarki HashSet di Jawa
Seperti yang anda lihat dari rajah yang diberikan di bawah,Kelas HashSet menerapkan antara muka Set. Antaramuka Set seterusnya mewarisi antara muka Koleksi yang akhirnya memperluas antara muka Iterable dalam urutan hierarki.
Sekarang, teruskan dengan artikel HashSet dalam Java ini, mari kita lihat pelbagai pembina disokong oleh kelas ini.
Pembina kelas java.util.HashSet
Pembina | Penerangan |
Set Hash () | Ini adalah pembina lalai kelas HashSet |
HashSet (kapasiti int) | Pembina ini digunakan untuk menginisialisasi kapasiti awal set hash. Kapasiti dapat berkembang secara dinamik dengan penambahan elemen baru |
HashSet (kapasiti int, Kapasiti beban apungan) | Pembina ini digunakan untuk menginisialisasi kapasiti awal set hash bersama dengan kapasiti beban |
HashSet (Koleksi c) | Pembina ini digunakan untuk memulakanhash yang ditetapkan dengan menggunakan unsur-unsur dari Koleksi c |
Ini adalah empat pembangun kelas HashSet di . Sekarang mari kita ketahui apa jenisnya ditakrifkan dalam Java HashSet.
Kaedah Kelas java.util.HashSet
Kaedah | Penerangan |
boolean add (Objek obj) | Kaedah ini membantu menambahkan elemen tertentu ke dalam HashSet hanya jika tidak ada |
kosongkan () | Kaedah ini membantu menghilangkan semua elemen dari HashSet |
Klon objek () | Kaedah ini mengembalikan salinan cetek instance HashSet dan bukannya klon elemen HashSet |
boolean mengandungi (Objek o) | Kaedah ini kembali benar jika elemen lulus hadir dalam HashSet |
boolean isEpty () | Kaedah ini kembali benar sekiranya HashSet kosong |
Pengulang iterator () | Kaedah ini mengembalikan iterator ke atas elemen yang terdapat dalam HashSet |
boolean remove (Objek o) | Kaedah ini membantu mengeluarkan elemen yang ditentukan dari HashSet jika ada |
saiz int () | Kaedah ini mengembalikan jumlah elemen yang terdapat dalam HashSet |
Bersama dengan kaedah yang disenaraikan di atas, kelas HashSet di Java juga mengandungi dari cermin mata hitamnya.
kaedah c ++ sort
Mari kita cuba menerapkan kaedah ini dan membasahi pengekodan.
Melaksanakan HashSet dalam Program Java
Dalam contoh di bawah, kami akan mencuba dan melaksanakan sejumlah kaedah yang disediakan oleh kelas HashSet.
import java.util.HashSet import java.util. * kelas awam SampleHashSet {public static void main (String [] args) {// Membuat Set HashSet eduCourses = baru HashSet () // Menambah elemen baru ke HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Menambah unsur pendua akan diabaikan eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Periksa sama ada HashSet mengandungi elemen tertentu String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' ada dalam senarai kursus. ')} lain {System.out.println (myCourse +' tidak ada dalam senarai kursus. ')} // Menyusun eduCourses menggunakan senarai List List = ArrayList baru (eduCourses) Collections.sort (senarai) // Mencetak elemen yang disusun dari HashSet System.out.println (' Mencetak Kursus mengikut urutan menggunakan List: '+ list) // Mengeluarkan item dari HashSet menggunakan remove () eduCourses.remove (' Python ') // Mengulangi item HashSet System.out.println (' Mengulangi senarai kursus selepas membuang Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Membuat objek lain HashSet HashSet eduNewCourses = HashSet baru () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Mengeluarkan semua elemen baru dari HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Setelah memanggil removeAll () kursus kaedah yang tersisa: '+ eduCourses) // Mengeluarkan elemen berdasarkan keadaan yang ditentukan eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Setelah memohon kaedah removeIf (): '+ eduCourses) // Mengeluarkan elemen dari eduCourses yang dinyatakan dalam eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet after' + 'retainAll () operasi: '+ eduNewCourses) // Mengeluarkan semua elemen yang ada dalam set eduCourses.clear () System.out.println (' After invoking clear () method: '+ eduCourses)}}
Apabila anda melaksanakan kod di atas, ia akan memberikan output yang ditunjukkan di bawah.
Dengan ini, kita sampai pada akhir artikel ini. Harap saya dapat mengekalkan konsep yang jelas dan jelas. Anda boleh mengetahui lebih lanjut mengenai dengan melalui kami .
Sekarang setelah anda memahami apa itu HashSet di Java, lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.
Ada soalan untuk kami? Sila sebutkan di bahagian komen artikel “HashSet in Java” ini dan kami akan menghubungi anda secepat mungkin.