Uzziniet, kas ir HashSet Java un kā ar to sākt strādāt!

Šis raksts par Java HashSet sniegs jums pilnīgu pārskatu par to, kas tieši ir HashSet Java un kā to ieviest. Tajā tiks runāts arī par dažādām metodēm un konstruktoriem, kurus atbalsta Java HashSet klase.

HashSet Java ir viens no vissvarīgākajiem . To parasti izmanto, lai unikālas vērtības glabātu nesakārtotā veidā. Izmantojot šo rakstu par Java HashSet, es jums sniegšu pilnīgu pārskatu par to, kas tieši ir HashSet un kā jūs varat to izmantot savā lietojumprogrammā.

Tālāk ir norādītas šajā rakstā aplūkotās tēmas:





Sāksim, vispirms saprotot, kas ir HashSet Java.

HashSet Java



java.util.HashSet klasē ir Java kolekciju ietvara dalībnieksmanto klasi AbstractSet unīstenoIestatiet interfeiss . Tas netieši īsteno hashtable unikālu elementu kolekcijas izveidei un glabāšanai. Hashtable ir nekas cits kā HashMap klases gadījums, kas informācijas sajaukšanai HashSet izmanto jaukšanas mehānismu.

Sajaukšana ir process, kurā informācijas saturs tiek pārvērsts par unikālu vērtību, kas tautā vairāk tiek dēvēta par hash kodu. Pēc tam šo hashkodu izmanto, lai indeksētu ar atslēgu saistītos datus. Viss informācijas atslēgas pārveidošanas hashcode process tiek veikts iekšēji.

java valodā

Tagad, lai labāk izprastu Java HashSet, ļaujiet man uzskaitīt dažas tā funkcijas:



  1. HashSet Java neļauj dublēt vērtības.
  2. Tas var saturēt nulles vērtības.
  3. HashSet neievēro ievietošanas kārtību datu glabāšanai, bet gan izmanto hashcode, lai indeksētu vērtības.
  4. Tas nav sinhronizēts kas automātiski padara to par pavedienu nedrošu.
  5. HashSet klase ievieš arī Cloneable unSerializējamas saskarnes.

Tagad, kad esat informēts par to, kas tieši ir HashSet Java, pārejiet tālāk ar šo rakstu un demistificējiet atšķirības starp HashMap un HashSet Java.

Java HashSet vs HashMap

HashSet HashMap
Īstenojava.util.Iestatīt saskarniĪstenojava.util.Karte
Datus glabā kā objektusDati tiek glabāti atslēgu un vērtību pāra formā
HashSet objekta inicializēšanai nepieciešams tikai viens parametrsTā objekta inicializēšanai ir nepieciešami divi parametri (atslēga, vērtība)
Neatļauj dublēt elementusNeatļauj atslēgu dublikātus, taču jūs varat saglabāt dublikātu vērtības
Atļauj vienu nulles vērtībuĻauj vienu nulles atslēgu un jebkuru nulles vērtību skaitu
HashSet izmantot add ()metode datu pievienošanai vai glabāšanaiHashMap izmanto put () metodi datu glabāšanai

Tagad, kad jums ir skaidra atšķirība starp HashMap un HashSet, tagad atkal pievērsīsimies HashSet un ienirsim tajā dziļāk. Šī raksta nākamajā sadaļā es jūs iepazīstināšu ar pilnu Java HashSet hierarhiju.

HashSet hierarhija Java valodā

Kā redzat zemāk dotajā diagrammā,HashSet klase ievieš Set saskarni. Komplekts Interfeiss tālāk pārņem kolekcijas saskarni, kas hierarhiskā secībā paplašina Iterable interfeisu.

Java HashSet hierarhija - HashSet Java valodā - Edureka

Tagad, virzoties uz priekšu ar šo rakstu HashSet Java, apskatīsim dažādos konstruktori ko atbalsta šī klase.

Java.util.HashSet klases konstruktori

Celtnieks Apraksts
HashSet () Tas ir noklusējuma HashSet klases konstruktors
HashSet (int ietilpība) Šis konstruktors tiek izmantots, lai inicializētu jaucējkopa sākotnējo jaudu. Jauda var dinamiski pieaugt, pievienojot jaunus elementus
HashSet (int ietilpība, pludiņa slodzes ietilpība) Šis konstruktors tiek izmantots, lai inicializētu sākotnējo jaucējkrāna jaudu kopā ar kravnesību
HashSet (kolekcija c) Šo konstruktoru izmanto, lai inicializētujaucējkomplekts, izmantojot elementus no kolekcijas c

Tie bija četri HashSet klases konstruktori gadā . Tagad noskaidrosim, kas ir dažādi definēts Java HashSet.

Java.util.HashSet klases metodes

Metode Apraksts
Būla pievienošana (Object obj) Šī metode palīdz pievienot noteiktu elementu HashSet tikai tad, ja tā nav
anulēt skaidru () Šī metode palīdz noņemt visus elementus no HashSet
Objekta klons () Šī metode atgriež HashSet instances seklu kopiju, nevis HashSet elementu klonus
boolean satur (Object o) Šī metode atgriež patiesu vērtību, ja HashSet satur nodoto elementu
boolean isTukšs () Šī metode atgriež taisnību, ja HashSet ir tukšs
Iteratora atkārtotājs () Šī metode atgriež iteratoru pār HashSet esošajiem elementiem
būla noņemšana (objekts o) Šī metode palīdz noņemt norādīto elementu no HashSet, ja tāds ir
int izmērs () Šī metode atgriež kopējo HashSet elementu skaitu

Kopā ar iepriekš uzskaitītajām metodēm Java klasē HashSet ir arī no tās superklasēm.

Tagad mēģināsim ieviest šīs metodes un mitrināsim kājas ar kodēšanu.

HashSet ieviešana Java programmā

Zemāk sniegtajā piemērā mēs izmēģināsim un ieviesīsim vairākas metodes, kuras nodrošina HashSet klase.

importēt java.util.HashSet importēt java.util. * publiskā klase SampleHashSet {public static void main (String [] args) {// HashSet Set izveide eduCourses = new HashSet () // jaunu elementu pievienošana HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. pievienot ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Dublikātu elementu pievienošana tiks ignorēta eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Pārbaudiet, vai HashSet satur noteiktu elementu String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' ir kursu sarakstā. ')} else {System.out.println (mans kurss +' nav kursu sarakstā. ')} // eduCourses kārtošana, izmantojot List List list = new ArrayList (eduCourses) Collections.sort (list) // HashSet System.out.println ('sakārtoto elementu izdrukāšana Kursu drukāšana sakārtotā secībā, izmantojot sarakstu: '+ saraksts] // vienumu noņemšana no HashSet, izmantojot noņemšanas () eduCourses.remove (' Python ') // atkārtojums virs HashSet vienumiem System.out.println (' Pēc kursu saraksta atkārtojas Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Cita HashSet objekta izveide HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Visu jauno elementu noņemšana no HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Pēc RemoveAll izsaukšanas () atlikušie metodes kursi: '+ eduCourses) // Elementu noņemšana, pamatojoties uz norādīto nosacījumu eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Pēc metodes RemoveIf () izsaukšanas: '+ eduCourses) // Elementu noņemšana no eduCourses, kas norādīti vietnē eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println (operācija “HashSet pēc” + ”retainAll (): '+ eduNewCourses) // Visu iestatījumā pieejamo eduCourses.clear () System.out.println pieejamo elementu noņemšana (' Pēc clear () metodes izsaukšanas: '+ eduCourses)}}

Izpildot iepriekš minēto kodu, tas dos jums zemāk parādīto izvadi.

Ar to mēs esam nonākuši pie šī raksta beigām. Ceru, ka man izdevās saglabāt skaidrību un skaidrību. Jūs varat uzzināt vairāk par ejot cauri mūsu .

Tagad, kad esat sapratis, kas ir HashSet Java, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan Java, gan uzlabotas koncepcijas, kā arī dažādas Java struktūras, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī raksta “HashSet in Java” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.