Vaadake, mis on Java-s HashSet ja kuidas sellega alustada!



See artikkel Java-s asuva HashSeti kohta annab teile täieliku ülevaate sellest, mis täpselt on Java-s HashSet ja kuidas seda rakendada. Samuti räägitakse erinevatest meetoditest ja konstruktoritest, mida Java HashSet klass toetab.

Java-s asuv HashSet on üks olulisemaid aspekte . Seda kasutatakse tavaliselt kordumatute väärtuste kordumatuks salvestamiseks. Selle Java veebisaidil HashSet asuva artikli vahendusel annan teile täieliku ülevaate sellest, mis täpselt on HashSet ja kuidas saate seda oma rakenduses kasutada.

Allpool on siin artiklis käsitletud teemad:





funktsiooni ülekoormamine c ++

Alustame kõigepealt, mõistes, mis on Java-s HashSet.

HashSet Java-s



java.util.HashSet klass on Java kogude raamistiku liige, mispärib klassi AbstractSet jarakendabMäära liides . See rakendab vaikimisi hashtable'i ainulaadsete elementide kogu loomiseks ja säilitamiseks. Hashtable pole midagi muud kui HashMapi klassi eksemplar, mis kasutab HashSetis teabe salvestamiseks räsimehhanismi.

Räsimine on protsess, mille käigus muudetakse infosisu ainulaadseks väärtuseks, mida rahva seas tuntakse rohkem kui räsikoodi. Seda räsikoodi kasutatakse seejärel võtmega seotud andmete indekseerimiseks. Kogu infovõtme räsikoodiks muutmise protsess viiakse läbi sisemiselt.

HashSeti paremaks mõistmiseks Javas lubage mul loetleda mõned selle funktsioonid:



  1. Java-s sisalduv HashSet ei võimalda duplikaatväärtusi.
  2. See võib sisaldada nullväärtusi.
  3. HashSet ei järgi andmete salvestamise sisestamise järjekorda, vaid kasutab sees olevate väärtuste indekseerimiseks räsikoodi.
  4. See ei ole sünkroniseeritud mis muudab selle niiditurvaliseks automaatselt.
  5. HashSeti klassis rakendatakse ka Cloneable jaSerialiseeritavad liidesed.

Nüüd, kui olete teadlik sellest, mis täpselt on Java-s HashSet, liigume selle artikliga edasi ja selgitame Java-s HashMapi ja HashSeti erinevusi.

Java HashSet vs HashMap

HashSet HashMap
Rakendabjava.util.Määra liidesRakendabjava.util.Kaart
Salvestab andmeid objektidenaSalvestab andmeid võtmeväärtuste paari kujul
HashSet nõuab objekti initsialiseerimiseks ainult ühte parameetritObjekti initsialiseerimiseks on vaja kahte parameetrit (võti, väärtus)
Ei luba duplikaatelementeEi luba duplikaatvõtmeid, kuid saate dubleerida väärtusi
Lubab ühe nullväärtuseLubab ühe nullvõtme ja suvalise arvu nullväärtusi
HashSet kasutage add ()meetod andmete lisamiseks või salvestamiseksHashMap kasutab put () meetodit andmete salvestamiseks

Nüüd, kui teil on selge erinevus HashMapi ja HashSeti vahel, keskendume nüüd uuesti HashSetile ja sukeldume sellesse sügavamale. Selle artikli järgmises osas tutvustan teile Java-keeles HashSeti täielikku hierarhiat.

HashSeti hierarhia Java-s

Nagu näete allpool toodud skeemilt,Klass HashSet rakendab liidest Set. Liidese komplekt päranduseks on ka liides Collection, mis pikendab Iterable'i liidest hierarhilises järjekorras.

Java HashSeti hierarhia - HashSet Java-s - Edureka

Nüüd, liikudes selle Java-i HashSetiga edasi, uurime erinevaid konstruktorid see klass toetab.

Java.util.HashSeti klassi ehitajad

Ehitaja Kirjeldus
HashSet () See on klassi HashSet vaikekonstruktor
HashSet (sisemaht) Seda konstruktorit kasutatakse räsikomplekti esialgse võimsuse initsialiseerimiseks. Võime võib uute elementide lisamisega dünaamiliselt kasvada
HashSet (int-maht, ujukkoormus) Seda konstruktorit kasutatakse initsialiseeritud räsi algvõimsuse ja kandevõime initsialiseerimiseks
HashSet (kogu c) Seda konstruktorit kasutatakse initsialiseerimiseksräsi, mis on määratud kollektsiooni c elementide abil

Need olid neli HashSeti klassi konstruktorit aastal . Uurime nüüd, mis on erinevad määratletud Java HashSetis.

Java.util.HashSeti klassi meetodid

Meetod Kirjeldus
boolean add (Object obj) See meetod aitab määratud elementi lisada HashSeti ainult siis, kui seda pole
tühine selge () See meetod aitab eemaldada kõik elemendid HashSetist
Objektikloon () See meetod tagastab HashSeti eksemplari madala koopia, mitte HashSeti elementide kloonid
tõeväärtus sisaldab (Object o) See meetod tagastab tõene, kui läbitud element on HashSeti sees
boolean isTühi () See meetod naaseb tõeks juhul, kui HashSet on tühi
Iteraatori iteraator () See meetod tagastab iteraatori HashSeti elementide kohal
tõeväärtuse eemaldamine (objekt o) See meetod aitab määratud elemendi HashSetist eemaldada, kui see on olemas
int suurus () See meetod tagastab HashSetis olevate elementide koguarvu

Lisaks ülaltoodud meetoditele sisaldab Java-klass HashSet ka oma superklassidest.

Proovime nüüd neid meetodeid rakendada ja laseme kodeerimisega jalad märjaks.

HashSeti juurutamine Java-programmis

Allpool toodud näites proovime rakendada mitmeid HashSeti klassi pakutavaid meetodeid.

import java.util.HashSet import java.util. * avalik klass SampleHashSet {public static void main (String [] args) {// HashSeti komplekti loomine eduCourses = new HashSet () // uute elementide lisamine 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') // duplikaatelementide lisamist ignoreeritakse eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Kontrollige, kas HashSet sisaldab konkreetset elementi String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' on kursuste loendis. ')} else {System.out.println (minu kursust +' ei ole kursuste loendis. ')} // eduKursuste sortimine loendiloendi abil = uus ArrayList (eduCourses) Collections.sort (nimekiri) // HashSet System.out.println ('sortitud elementide printimine Kursuste printimine järjestatud järjekorras, kasutades loendit: '+ loend] // üksuste eemaldamine HashSetist, kasutades eemaldamist () eduCourses.remove (' Python ') // Iteratsioon üle HashSeti üksuste System.out.println (' Kursuste loendi kordamine pärast eemaldamist Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // HashSeti teise objekti loomine HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Kõigi uute elementide eemaldamine rakendusest HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Pärast eemaldamise eemaldamist () meetodikursused jäänud: '+ eduCourses) // Elementide eemaldamine määratud tingimuse alusel eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Pärast meetodi removeIf () käivitamist: '+ eduCourses) // elementide eemaldamine eduCourses'ist, mis on määratletud edukNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet pärast' + 'retainAll () toimingut: '+ eduNewCourses) // Kõigi komplekti eduCourses.clear () System.out.println saadaolevate elementide eemaldamine (' Pärast meetodi clear () käivitamist: '+ eduCourses)}}

Kui täidate ülaltoodud koodi, annab see teile allpool näidatud väljundi.

Sellega jõuame selle artikli lõpuni. Loodetavasti suutsin hoida mõisted teravad ja selged. Lisateavet saate läbides meie .

Nüüd, kui olete aru saanud, mis on Java-s HashSet, vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad. Kursus on loodud selleks, et anda teile Java programmeerimises edukas algus ja õpetada teid nii Java-põhiprogrammide kui ka edasijõudnute mõistete ning erinevate Java-raamistike, näiteks Hibernate & Spring, jaoks.

Kas teil on meile küsimus? Palun mainige seda selle artikli “HashSet Java'is” kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.