Ketahui apa itu HashSet di Java dan bagaimana memulakannya!



Artikel ini mengenai HashSet di Java akan memberikan gambaran lengkap mengenai apa sebenarnya HashSet di Java dan cara menerapkannya. Ia juga akan membincangkan pelbagai kaedah dan pembina yang disokong oleh kelas Java HashSet.

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:





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:



  1. HashSet di Java tidak membenarkan nilai pendua.
  2. Ia boleh mengandungi nilai null.
  3. HashSet tidak mengikuti perintah penyisipan untuk menyimpan data melainkan menggunakan kod hash untuk mengindeks nilai di dalamnya.
  4. Ia bukan- disegerakkan yang secara automatik menjadikannya tidak selamat utas.
  5. 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 mukaPelaksanaanjava.util.Map
Menyimpan data sebagai objekMenyimpan data dalam bentuk pasangan nilai-kunci
HashSet hanya memerlukan satu parameter untuk inisialisasi objeknyaIa memerlukan dua parameter (kunci, nilai) untuk inisialisasi objeknya
Tidak membenarkan unsur penduaTidak membenarkan kunci pendua tetapi anda boleh menyimpan nilai pendua
Membolehkan satu nilai kosongMembolehkan satu kekunci kosong dan sebilangan besar nilai nol
Penggunaan HashSet tambah ()kaedah untuk menambah atau menyimpan dataHashMap 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.

Hierarki Java HashSet - HashSet di Java - Edureka

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.