Opi mikä on HashSet Java-sovelluksessa ja miten pääset alkuun!



Tämä artikkeli HashSetista Javassa antaa sinulle täydellisen yleiskuvan siitä, mikä on HashSet Java-sovelluksessa ja miten se toteutetaan. Siinä puhutaan myös Java HashSet -luokan tukemista eri menetelmistä ja konstruktoreista.

Java HashSet on yksi tärkeimmistä näkökohdista . Sitä käytetään tyypillisesti ainutlaatuisten arvojen tallentamiseen järjestämättömällä tavalla. Tämän Java-julkaisun HashSet-artikkelin välityksellä annan sinulle täydellisen läpikäynnin siitä, mikä on HashSet ja miten voit käyttää sitä sovelluksessasi.

Tässä ovat tämän artikkelin aiheet:





Aloitetaan ensin ymmärtämällä, mitä HashSet on Java.

HashSet Java-sovelluksessa



java.util.HashSet luokassa on Java-kokoelmakehyksen jäsen, jokaperii AbstractSet-luokan jatoteuttaaAseta käyttöliittymä . Se toteuttaa implisiittisesti hashtabelin ainutlaatuisten elementtien kokoelman luomiseksi ja tallentamiseksi. Hashtable ei ole muuta kuin HashMap-luokan ilmentymä, joka käyttää hajautusmekanismia tietojen tallentamiseen HashSetiin.

Hajautus on prosessi, jolla informaatio-sisältö muunnetaan ainutlaatuiseksi arvoksi, joka tunnetaan yleisemmin hash-koodina. Tätä hajautuskoodia käytetään sitten avaimeen liittyvän datan indeksointiin. Koko prosessi, jolla informaatioavain muunnetaan hashkoodiksi, suoritetaan sisäisesti.

Jotta voin ymmärtää paremmin Java-ohjelmiston HashSetiä, haluan luetella muutamia sen ominaisuuksia:



  1. HashSet Java -ohjelmassa ei salli päällekkäisiä arvoja.
  2. Se voi sisältää nolla-arvoja.
  3. HashSet ei noudata lisäysjärjestystä tietojen tallentamisessa, vaan käyttää hashkoodia indeksoimaan arvot sisällä.
  4. Se ei ole synkronoitu mikä tekee siitä langattomasti vaarallisen.
  5. HashSet-luokka toteuttaa myös Cloneable andSarjoitettavat rajapinnat.

Nyt kun olet tietoinen siitä, mikä HashSet tarkalleen on Java, siirrytään eteenpäin tämän artikkelin kanssa ja selvitetään HashMapin ja HashSetin Java-erot.

Java HashSet vs HashMap

HashSet HashMap
Toteutusjava.util.Aseta käyttöliittymäToteutusjava.util.Kartta
Tallentaa tiedot esineinäTallentaa tiedot avain-arvo-parin muodossa
HashSet vaatii vain yhden parametrin objektin alustamiseenSe vaatii kahta parametria (avain, arvo) objektin alustamiseen
Ei salli päällekkäisiä elementtejäEi salli päällekkäisiä avaimia, mutta voit tallentaa päällekkäisiä arvoja
Sallii yhden nolla-arvonSallii yhden nolla-avaimen ja minkä tahansa määrän nolla-arvoja
HashSet käytä add ()menetelmä tietojen lisäämiseksi tai tallentamiseksiHashMap käyttää put () -menetelmää tietojen tallentamiseen

Nyt kun sinulla on selkeä ero HashMapin ja HashSetin välillä, keskitymme nyt taas HashSetiin ja sukelkaamme siihen syvemmälle. Tämän artikkelin seuraavassa osassa esitän sinut HashSetin täydelliseen hierarkiaan Java-ohjelmassa.

kuinka asettaa luokkatie Java-käyttöjärjestelmään Windows 10: ssä

HashSet-hierarkia Javalla

Kuten alla olevasta kaaviosta näet,HashSet-luokka toteuttaa Set-käyttöliittymän. Set-rajapinta perii edelleen Collection-käyttöliittymän, joka lopulta laajentaa Iterable-käyttöliittymää hierarkkisessa järjestyksessä.

Java HashSet Hierarchy - HashSet Java - Edureka

Nyt, siirtymällä eteenpäin tämän Java-artikkelin HashSetin kanssa, katsotaanpa erilaisia rakentajat tämä luokka tukee.

Java.util.HashSet-luokan rakentajat

Rakentaja Kuvaus
HashSet () Tämä on HashSet-luokan oletusrakentaja
HashSet (sis. Kapasiteetti) Tätä konstruktoria käytetään alustamaan hajautusjoukon alkukapasiteetti. Kapasiteetti voi kasvaa dynaamisesti lisäämällä uusia elementtejä
HashSet (int-kapasiteetti, uimakapasiteetti) Tätä konstruktoria käytetään alustamaan tiivisteen alkukapasiteetti yhdessä kuormituskapasiteetin kanssa
HashSet (kokoelma c) Tätä konstruktoria käytetään alustamiseenhajautus määritetään käyttämällä kokoelman c elementtejä

Nämä olivat neljä HashSet-luokan rakentajaa vuonna . Selvitetään nyt, mitkä ovat erilaiset määritelty Java HashSet -sovelluksessa.

Java.util.HashSet-luokan menetelmät

Menetelmä Kuvaus
looginen lisäys (Object obj) Tämä menetelmä auttaa lisäämään määritetyn elementin HashSetiin vain, jos sitä ei ole läsnä
mitätön selvä () Tämä menetelmä auttaa poistamaan kaikki elementit HashSetistä
Objektiklooni () Tämä menetelmä palauttaa matalan kopion HashSet-ilmentymästä HashSet-elementtien kloonien sijaan
totuusarvo sisältää (Object o) Tämä menetelmä palauttaa arvon tosi, jos välitetty elementti on läsnä HashSetissä
totuusarvo onTyhjä () Tämä menetelmä palauttaa arvon tosi, jos HashSet on tyhjä
Iteraattori-iteraattori () Tämä menetelmä palauttaa iteraattorin HashSetissä olevien elementtien yli
looginen poisto (Object o) Tämä menetelmä auttaa poistamaan määritetyn elementin HashSetistä, jos se on läsnä
int-koko () Tämä menetelmä palauttaa HashSetissä olevien elementtien kokonaismäärän

Yllä mainittujen menetelmien ohella Java-niminen HashSet-luokka sisältää myös sen superluokista.

Yritetään nyt toteuttaa nämä menetelmät ja kastaa jalkamme koodauksella.

HashSetin käyttöönotto Java-ohjelmassa

Seuraavassa esimerkissä yritämme toteuttaa useita HashSet-luokan tarjoamia menetelmiä.

Tuo java.util.HashSet Tuo java.util. * public class SampleHashSet {public static void main (String [] args) {// HashSet Setin luominen eduCourses = new HashSet () // Uusien elementtien lisääminen 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') // Päällekkäisten elementtien lisääminen jätetään huomioimatta eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Tarkista, sisältääkö HashSet tietyn elementin String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ') on kurssiluettelossa. ')} else {System.out.println (myCourse +' ei ole kurssiluettelossa. ')} // eduCourses-ohjelmien lajittelu luetteloluettelon avulla = new ArrayList (eduCourses) Collections.sort (list) // HashSet System.out.println (': n lajiteltujen elementtien tulostaminen Kurssien tulostaminen järjestyksessä käyttämällä luetteloa: '+ luettelo) // Kohteiden poistaminen HashSetistä poistamalla () eduCourses.remove (' Python ') // Iterating HashSet items System.out.println (' Kurssiluettelon iterointi poistamisen jälkeen Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // HashSetin toisen objektin luominen HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Kaikkien uusien elementtien poistaminen HashSetistä eduCourses.removeAll (eduNewCourses) System.out.println ('RemoveAll ( jäljellä olevat metodikurssit: '+ eduCourses) // Elementtien poistaminen määritetyn ehdon perusteella eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' removeIf () -menetelmän kutsumisen jälkeen: '+ eduCourses) // Elementtien poistaminen eduCoursesista, jotka on määritelty eduNewCoursesissa eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet' + 'retainAll () -operaation jälkeen: '+ eduNewCourses) // Kaikkien asetettujen eduCourses.clear () System.out.println -elementtien poistaminen (' clear () -menetelmän kutsumisen jälkeen: '+ eduCourses)}}

Kun suoritat yllä olevan koodin, se antaa sinulle alla olevan kuvan.

pl sql -kehittäjän opetus aloittelijoille

Tämän avulla olemme tämän artikkelin lopussa. Toivon, että pystyin pitämään käsitteet selkeinä ja selkeinä. Voit oppia lisää käymällä läpi meidän .

Nyt kun olet ymmärtänyt, mikä on HashSet Java-sovelluksessa, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän 'HashSet in Java' -artikkelin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.