Saznajte što je HashSet na Javi i kako započeti s njim!

Ovaj članak o HashSetu na Javi dat će vam cjelovit pregled što je zapravo HashSet u Javi i kako ga primijeniti. Također će govoriti o raznim metodama i konstruktorima koje podržava klasa Java HashSet.

HashSet u Javi jedan je od najvažnijih aspekata . Obično se koristi za nepoređeno pohranjivanje jedinstvenih vrijednosti. Kroz medij ovog članka o HashSetu na Javi pružit ću vam cjelovit vodič o tome što je točno HashSet i kako ga možete koristiti u svojoj aplikaciji.

Ispod su teme obrađene u ovom članku:





Krenimo prvo s razumijevanjem što su HashSet na Javi.

čemu služi lutka

HashSet u Javi



java.util.HashSet razred je član okvira Java zbirki kojinasljeđuje klasu AbstractSet iprovodiPostavi sučelje . Implicitno implementira hashtable za stvaranje i spremanje kolekcije jedinstvenih elemenata. Hashtable nije ništa drugo nego instanca klase HashMap koja koristi mehanizam raspršivanja za pohranu podataka unutar HashSet-a.

Hashing je postupak pretvaranja informacijskog sadržaja u jedinstvenu vrijednost koja je popularnija kao hash code. Taj se hashcode tada koristi za indeksiranje podataka povezanih s ključem. Čitav postupak pretvaranja informacijskog ključa u hashcode izvodi se interno.

Sada za bolje razumijevanje HashSet-a u Javi, dopustite mi da nabrojim nekoliko njegovih značajki:



  1. HashSet u Javi ne dopušta dvostruke vrijednosti.
  2. Može sadržavati null vrijednosti.
  3. HashSet ne slijedi redoslijed umetanja za pohranu podataka, nego koristi hashcode za indeksiranje vrijednosti unutar.
  4. To je ne- sinkronizirano što ga automatski čini nesigurnim u nitima.
  5. Klasa HashSet također implementira Cloneable iSerijalizirana sučelja.

Sad kad ste svjesni što je točno HashSet na Javi, krenimo dalje s ovim člankom i demistificirajte razlike između HashMap-a i HashSet-a na Javi.

Java HashSet vs HashMap

HashSet HashMap
Provodijava.util.Postavi sučeljeProvodijava.util.Karta
Pohranjuje podatke kao objektePohranjuje podatke u obliku para ključ / vrijednost
HashSet zahtijeva samo jedan parametar za inicijalizaciju svog objektaZa inicijalizaciju svog objekta potrebna su dva parametra (ključ, vrijednost)
Ne dopušta duplicirane elementeNe dopušta duplicirane ključeve, ali možete pohraniti dvostruke vrijednosti
Omogućuje jednu null vrijednostOmogućuje jedan null ključ i bilo koji broj null vrijednosti
HashSet koristi add ()metoda za dodavanje ili spremanje podatakaHashMap koristi metodu put () za spremanje podataka

Sad kad imate jasnu razliku između HashMap-a i HashSeta, usredotočimo se opet na HashSet i zaronimo dublje u njega. U sljedećem odjeljku ovog članka predstavit ću vam kompletnu hijerarhiju HashSet-a na Javi.

Hijerarhija HashSet-a u Javi

Kao što možete vidjeti iz dolje datog dijagrama,Klasa HashSet implementira sučelje Set. Sučelje Set dalje nasljeđuje sučelje Collection koje na kraju proširuje Iterable sučelje hijerarhijskim redoslijedom.

primjer kravata java selen webdriver

Java HashSet Hijerarhija - HashSet u Javi - Edureka

Krenimo sada s ovim člankom o HashSetu u Javi, provjerimo razne konstruktori koju podržava ova klasa.

Konstruktori klase java.util.HashSet

Graditelj Opis
HashSet () Ovo je zadani konstruktor klase HashSet
HashSet (int kapacitet) Ovaj konstruktor koristi se za inicijalizaciju početnog kapaciteta skupa raspršivanja. Kapacitet može dinamički rasti dodavanjem novih elemenata
HashSet (int kapacitet, float loadCapacity) Ovaj konstruktor koristi se za inicijalizaciju početnog kapaciteta postavljenog hasha zajedno s nosivošću
HashSet (Zbirka c) Ovaj se konstruktor koristi za inicijalizacijuhash postavljen pomoću elemenata iz zbirke c

To su bila četiri konstruktora klase HashSet u . Otkrijmo sada koje su razne definirano u Java HashSetu.

Metode klase java.util.HashSet

Metoda Opis
logički dodatak (objekt objekta) Ova metoda pomaže u dodavanju navedenog elementa u HashSet samo ako nije prisutan
void clear () Ova metoda pomaže u uklanjanju svih elemenata iz HashSet-a
Klon objekta () Ova metoda vraća plitku kopiju instance HashSet, a ne klonove elemenata HashSet
boolean sadrži (objekt o) Ova metoda vraća true ako je proslijeđeni element prisutan u HashSetu
logički isEmpty () Ova metoda vraća true u slučaju da je HashSet prazan
Iterator iterator () Ova metoda vraća iterator preko elemenata prisutnih u HashSetu
logičko uklanjanje (objekt o) Ova metoda pomaže u uklanjanju navedenog elementa iz HashSet-a ako je prisutan
veličina int () Ova metoda vraća ukupan broj elemenata prisutnih u HashSetu

Uz gore navedene metode, klasa HashSet u Javi sadrži i iz svojih superklasa.

Pokušajmo sada primijeniti ove metode i namočiti noge kodiranjem.

Implementacija HashSet-a u Java program

U donjem primjeru pokušat ćemo implementirati brojne metode koje nudi klasa HashSet.

import java.util.HashSet import java.util. * javna klasa SampleHashSet {public static void main (String [] args) {// Stvaranje skupa HashSet eduCourses = new HashSet () // Dodavanje novih elemenata u HashSet eduCourses.add ('Veliki podaci') 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') // Dodavanje dupliciranih elemenata zanemarit će se eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Provjeri sadrži li HashSet određeni element String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' nalazi se na popisu tečajeva. ')} else {System.out.println (myCourse +' nije na popisu tečajeva. ')} // Sortiranje eduCourses koristeći List List list = new ArrayList (eduCourses) Collections.sort (list) // Ispis razvrstanih elemenata HashSet System.out.println (' Ispis tečajeva sortiranim redoslijedom pomoću popisa: '+ list) // Uklanjanje predmeta iz HashSet-a pomoću remove () eduCourses.remove (' Python ') // Iteriranje stavki HashSet-a System.out.println (' Iteriranje popisa kurseva nakon uklanjanja Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Stvaranje drugog objekta HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Strojno učenje') // Uklanjanje svih novih elemenata iz HashSet-a eduCourses.removeAll (eduNewCourses) System.out.println ('Nakon pozivanja removeAll () lijevi tečajevi metode: '+ eduCourses) // Uklanjanje elemenata na temelju navedenog stanja eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Nakon pozivanja metode removeIf (): '+ eduCourses) // Uklanjanje elemenata iz eduCourses koji su navedeni u eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet after' + 'retainAll () operation: '+ eduNewCourses) // Uklanjanje svih elemenata dostupnih u skupu eduCourses.clear () System.out.println (' Nakon pozivanja metode clear (): '+ eduCourses)}}

Kada izvršite gornji kod, dobit će vam dolje prikazani izlaz.

razlika između extends i implementira u javi

Ovim smo došli do kraja ovog članka. Nadam se da sam uspio održati koncepte jasnima i jasnima. Možete saznati više o prolazeći kroz naš .

Sad kad ste shvatili što je HashSet u Javi, pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo navedite ga u odjeljku za komentare ovog članka 'HashSet na Javi', a mi ćemo vam se javiti u najkraćem mogućem roku.