Sužinokite, kas yra „HashSet“ „Java“ ir kaip pradėti jį naudoti!



Šis straipsnis apie „HashSet“ sistemoje „Java“ suteiks jums pilną apžvalgą apie tai, kas tiksliai yra „Java“ „HashSet“, ir kaip tai įgyvendinti. Taip pat bus kalbama apie įvairius metodus ir konstruktorius, kuriuos palaiko „Java HashSet“ klasė.

„HashSet“ sistemoje „Java“ yra vienas iš svarbiausių . Paprastai jis naudojamas unikalių reikšmių nesutvarkytam laikymui. Per šį straipsnį apie „HashSet“ sistemoje „Java“ pateiksiu jums išsamią apžvalgą, kas tiksliai yra „HashSet“ ir kaip galite ją naudoti savo programoje.

dviejų skaičių pridėjimas java

Toliau pateikiamos šio straipsnio temos:



Pradėkime pirmiausia suprasdami, kas yra „Java“ „HashSet“.

„HashSet“ „Java“



java.util.HashSet klasė yra „Java“ kolekcijų sistemos, kuripaveldi „AbstractSet“ klasę irįgyvendinaNustatyti sąsaja . Jis netiesiogiai įgyvendina „hashtable“, skirtą unikalių elementų kolekcijai sukurti ir saugoti. „Hashtable“ yra ne kas kita, o „HashMap“ klasės egzempliorius, kuris naudoja maišos mechanizmą informacijai saugoti „HashSet“.

Maišymas - tai informacijos turinio pavertimo unikalia verte, kuri populiariau vadinama maišos kodu, procesas. Šis maišos kodas naudojamas indeksuojant su raktu susijusius duomenis. Visas informacinio rakto pavertimo maišos kodu procesas atliekamas viduje.

Norėdami geriau suprasti „HashSet“ „Java“, leiskite išvardyti keletą jo funkcijų:



  1. „HashSet“ sistemoje „Java“ neleidžiama dublikatų.
  2. Jame gali būti nulinės vertės.
  3. „HashSet“ nesilaiko įterpimo tvarkos duomenims saugoti, o naudoja indeksą reikšmėms indeksuoti.
  4. Tai nėra sinchronizuotas dėl to jis automatiškai tampa nesaugus.
  5. „HashSet“ klasėje taip pat įgyvendinami „Cloneable“ irSerializuojamos sąsajos.

Dabar, kai žinote, kas iš tikrųjų yra „HashSet“ „Java“, eikime toliau su šiuo straipsniu ir paaiškinkime „Java“ „HashMap“ ir „HashSet“ skirtumus.

„Java HashSet“ ir „HashMap“

„HashSet“ HashMap
Padargaijava.util.Nustatyti sąsająPadargaijava.util.Žemėlapis
Duomenys saugomi kaip objektaiDuomenys saugomi raktų ir verčių poros pavidalu
„HashSet“ reikia tik vieno parametro, kad būtų galima inicijuoti objektąTam, kad būtų galima inicijuoti objektą, reikia dviejų parametrų (rakto, vertės)
Neleidžia pasikartojančių elementųNeleidžia pasikartojančių raktų, bet galite išsaugoti pasikartojančias reikšmes
Leidžia vieną nulinę vertęLeidžia vieną nulinį raktą ir bet kokį skaičių nulinių verčių
„HashSet“ naudokite pridėjimą ()duomenų pridėjimo ar saugojimo būdas„HashMap“ naudoja put () metodą duomenims saugoti

Dabar, kai aiškiai atskiriate „HashMap“ ir „HashSet“, vėl sutelkime dėmesį į „HashSet“ ir pasinerkite į jį giliau. Kitame šio straipsnio skyriuje supažindinsiu jus su visa „Java“ „HashSet“ hierarchija.

„HashSet“ hierarchija „Java“

Kaip matote iš toliau pateiktos diagramos,„HashSet“ klasė įgyvendina sąsają „Set“. Sąsaja „Set“ paveldi kolekcijos sąsają, kuri ilgainiui išplečia „Iterable“ sąsają hierarchine tvarka.

„Java HashSet Hierarchy“ - „HashSet“ sistemoje „Java“ - „Edureka“

Dabar, eidami į priekį naudodami šį „HashSet“ „Java“ straipsnyje, patikrinkime įvairius konstruktoriai palaikoma šios klasės.

„Java.util.HashSet“ klasės konstruktoriai

Statybininkas apibūdinimas
„HashSet“ () Tai yra numatytasis „HashSet“ klasės konstruktorius
„HashSet“ (int talpa) Šis konstruktorius naudojamas inicializuoti pradinį maišos rinkinio pajėgumą. Pritaikius naujų elementų, pajėgumas gali dinamiškai augti
„HashSet“ (int talpa, plūdės apkrovos talpa) Šis konstruktorius naudojamas inicializuoti pradinį maišos rinkinio pajėgumą kartu su apkrova
„HashSet“ (c kolekcija) Šis konstruktorius naudojamas inicializuotimaišos nustatymas naudojant elementus iš kolekcijos c

Tai buvo keturi „HashSet“ klasės konstruktoriai . Dabar sužinokime, kokie yra įvairūs apibrėžta „Java HashSet“.

Java.util.HashSet klasės metodai

Metodas apibūdinimas
loginis pridėjimas (Object obj) Šis metodas padeda įtraukti konkretų elementą į „HashSet“ tik tuo atveju, jei jo nėra
negaliojantis aiškus () Šis metodas padeda pašalinti visus elementus iš „HashSet“
Objekto klonas () Šis metodas pateikia sekančią „HashSet“ egzemplioriaus kopiją, o ne „HashSet“ elementų klonus
loginės reikšmės yra (Object o) Šis metodas grąžinamas, jei perduodamas elementas yra „HashSet“
loginis yra tuščias () Šis metodas grąžinamas, jei „HashSet“ yra tuščias
Iteratoriaus iteratorius () Šis metodas grąžina „HashSet“ elementų iteratorių
loginis šalinimas (o objektas) Šis metodas padeda pašalinti nurodytą elementą iš „HashSet“, jei jis yra
int dydis () Šis metodas pateikia bendrą elementų, esančių „HashSet“, skaičių

Kartu su aukščiau išvardytais metodais, „HashSet“ klasėje „Java“ taip pat yra iš savo superklasių.

kaip baigti programą Java

Pabandykime įgyvendinti šiuos metodus ir sušlapink kojas.

„HashSet“ diegimas „Java“ programoje

Toliau pateiktame pavyzdyje mes išbandysime keletą metodų, kuriuos pateikia „HashSet“ klasė.

importuoti java.util.HashSet importuoti java.util. * viešoji klasė SampleHashSet {public static void main (String [] args) {// HashSet rinkinio kūrimas eduCourses = new HashSet () // Naujų elementų pridėjimas prie HashSet eduCourses.add („Big Data“) eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. pridėti ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Pridėjus pasikartojančius elementus, ignoruojama eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Patikrinkite, ar „HashSet“ yra konkretus elementas String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ') yra kursų sąraše. ')} else {System.out.println („myCourse +“ nėra kursų sąraše.')} // „eduCourses“ rūšiavimas naudojant sąrašų sąrašą = naujas „ArrayList“ (eduCourses) Collections.sort (sąrašas) // Rūšiuotų „HashSet System“ elementų spausdinimas.out.println (' Kursų spausdinimas rūšiuojama tvarka naudojant sąrašą: „+ sąrašas“ // Elementų pašalinimas iš „HashSet“ naudojant šalinimo () eduCourses.remove ('Python') // Kartojimas per HashSet elementus System.out.println ('Pasikartojantis per kursų sąrašą pašalinus Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Kito HashSet objekto kūrimas HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Visų naujų elementų pašalinimas iš HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Pakvietus removeAll () metodo kursai liko: '+ eduCourses) // Elementų pašalinimas pagal nurodytą sąlygą eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Po to, kai iškviečiame metodą removeIf (): '+ eduCourses) // Elementų pašalinimas iš eduCourses, nurodytų eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println (operacija „HashSet po„ + “retainAll (): '+ eduNewCourses) // Visų elementų, esančių rinkinyje eduCourses.clear () System.out.println, pašalinimas (' Iškvietus aiškų () metodą: '+ eduCourses)}}

Kai vykdysite aukščiau nurodytą kodą, gausite žemiau parodytą išvestį.

Tuo mes artėjame prie šio straipsnio pabaigos. Tikiuosi, kad sugebėjau išlaikyti aiškias ir aiškias sąvokas. Galite sužinoti daugiau apie eidamas per mūsų .

Dabar, kai supratote, kas yra „Java“ „HashSet“, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka“ mokymai ir sertifikavimo kursai „Java J2EE“ ir „SOA“ skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žaisti „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio straipsnio „HashSet in Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.