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:
- HashSet u Javi
- Java HashSet vs HashMap
- Hijerarhija HashSet-a
- Konstruktori klase java.util.HashSet
- Metode klase java.util.HashSet
- Implementacija HashSet-a u Java program
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:
- HashSet u Javi ne dopušta dvostruke vrijednosti.
- Može sadržavati null vrijednosti.
- HashSet ne slijedi redoslijed umetanja za pohranu podataka, nego koristi hashcode za indeksiranje vrijednosti unutar.
- To je ne- sinkronizirano što ga automatski čini nesigurnim u nitima.
- 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čelje | Provodijava.util.Karta |
Pohranjuje podatke kao objekte | Pohranjuje podatke u obliku para ključ / vrijednost |
HashSet zahtijeva samo jedan parametar za inicijalizaciju svog objekta | Za inicijalizaciju svog objekta potrebna su dva parametra (ključ, vrijednost) |
Ne dopušta duplicirane elemente | Ne dopušta duplicirane ključeve, ali možete pohraniti dvostruke vrijednosti |
Omogućuje jednu null vrijednost | Omogućuje jedan null ključ i bilo koji broj null vrijednosti |
HashSet koristi add ()metoda za dodavanje ili spremanje podataka | HashMap 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
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.