Lær hva som er HashSet i Java og hvordan du kommer i gang med det!



Denne artikkelen om HashSet i Java vil gi deg en fullstendig oversikt over hva som egentlig er HashSet i Java og hvordan du implementerer det. Den vil også snakke om de forskjellige metodene og konstruktørene som støttes av Java HashSet-klassen.

HashSet i Java er en av de viktigste aspektene av . Den brukes vanligvis til å lagre unike verdier på en uordnet måte. Gjennom mediet i denne artikkelen om HashSet i Java, vil jeg gi deg en fullstendig gjennomgang av hva som egentlig er et HashSet og hvordan du kan bruke det i applikasjonen din.

Nedenfor er emnene dekket i denne artikkelen:





La oss komme i gang med å først forstå hva som er HashSet i Java.

HashSet i Java



java.util.HashSet klasse er medlem av rammeverket for Java-samlinger somarver AbstractSet-klassen ogimplementererSett grensesnitt . Det implementerer implisitt en hashtable for å lage og lagre en samling unike elementer. Hashtable er ingenting annet enn en forekomst av HashMap-klassen som bruker en hashing-mekanisme for å lagre informasjonen i et HashSet.

Hashing er prosessen med å konvertere informasjonsinnholdet til en unik verdi som er mer kjent som hash-kode. Denne hashkoden brukes deretter til å indeksere dataene som er knyttet til nøkkelen. Hele prosessen med å transformere informasjonsnøkkelen til hashkoden utføres internt.

offentlig strengstreng ()

Nå for å få en bedre forståelse av HashSet i Java, la meg liste opp noen av funksjonene:



  1. Et HashSet i Java tillater ikke dupliserte verdier.
  2. Den kan inneholde nullverdier.
  3. HashSet følger ikke innsettingsrekkefølgen for lagring av dataene, men den bruker hashkoden for å indeksere verdiene i.
  4. Det er ikke- synkronisert som automatisk gjør det tråd-usikkert.
  5. HashSet-klassen implementerer også Cloneable ogSerialiserbare grensesnitt.

Nå som du er klar over hva som egentlig er HashSet i Java, la oss gå videre med denne artikkelen og avmystifisere forskjellene mellom HashMap og HashSet i Java.

Java HashSet vs HashMap

HashSet HashMap
Redskaperjava.util.Sett grensesnittRedskaperjava.util.Kart
Lagrer data som objekterLagrer data i form av nøkkelverdipar
HashSet krever bare én parameter for initialisering av objektetDet krever to parametere (nøkkel, verdi) for objektinitialisering
Tillater ikke dupliserte elementerTillater ikke dupliserte nøkler, men du kan lagre dupliserte verdier
Tillater en enkelt nullverdiTillater en enkelt nullnøkkel og et hvilket som helst antall nullverdier
HashSet bruk add ()metode for å legge til eller lagre dataHashMap bruker put () -metoden for lagring av data

Nå som du har et klart skille mellom HashMap og HashSet, la oss nå fokusere på HashSet igjen og dykke dypere inn i det. I neste del av denne artikkelen vil jeg introdusere deg til det komplette hierarkiet til HashSet i Java.

HashSet-hierarki i Java

Som du kan se fra nedenstående diagram,HashSet-klassen implementerer Set-grensesnittet. Set-grensesnittet arver videre Collection-grensesnittet som til slutt utvider det Iterable-grensesnittet i en hierarkisk rekkefølge.

Java HashSet Hierarchy - HashSet i Java - Edureka

Nå som vi går videre med denne HashSet i Java-artikkelen, la oss sjekke ut de forskjellige konstruktører støttet av denne klassen.

Konstruktører av java.util.HashSet Class

Bygger Beskrivelse
HashSet () Dette er standardkonstruktøren av HashSet-klassen
HashSet (int kapasitet) Denne konstruktøren brukes til å initialisere den opprinnelige kapasiteten til hash-settet. Kapasiteten kan vokse dynamisk med nye elementer
HashSet (int kapasitet, float loadCapacity) Denne konstruktøren brukes til å initialisere startkapasiteten til hash-settet sammen med lastekapasiteten
HashSet (samling c) Denne konstruktøren brukes til å initialiserehash-settet ved hjelp av elementene fra samling c

Dette var de fire konstruktørene av HashSet-klassen i . La oss nå finne ut hva som er forskjellige definert i Java HashSet.

Metoder for java.util.HashSet-klasse

Metode Beskrivelse
boolean add (Object obj) Denne metoden hjelper til med å legge til et spesifisert element i HashSet bare hvis det ikke er til stede
ugyldig klar () Denne metoden hjelper til med å fjerne alle elementene fra HashSet
Objektklon () Denne metoden returnerer en grunne kopi av HashSet-forekomsten i stedet for kloner av HashSet-elementene
boolsk inneholder (Objekt o) Denne metoden returnerer true hvis det passerte elementet er tilstede i HashSet
boolsk isEmpty () Denne metoden blir sant i tilfelle HashSet er tomt
Iterator iterator () Denne metoden returnerer en iterator over elementene i HashSet
boolsk fjerning (Objekt o) Denne metoden hjelper til med å fjerne det angitte elementet fra HashSet hvis det er til stede
int størrelse () Denne metoden returnerer det totale antallet elementer som er tilstede i HashSet

Sammen med de ovennevnte metodene inneholder HashSet-klassen i Java også fra superklassene.

La oss nå prøve å implementere disse metodene og få føttene våre våte med koding.

adapterklasse i java med eksempel

Implementering av HashSet i Java-programmet

I eksemplet nedenfor vil vi prøve å implementere en rekke metoder levert av HashSet-klassen.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Opprette et HashSet-sett eduCourses = new HashSet () // Legge til nye elementer i 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') // Legge til dupliserte elementer ignoreres eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Sjekk om HashSet inneholder et bestemt element String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' er i kurslisten. ')} annet {System.out.println (myCourse +' er ikke i kurslisten. ')} // Sortering av eduCourses ved hjelp av List List list = new ArrayList (eduCourses) Collections.sort (list) // Skrive ut de sorterte elementene i HashSet System.out.println (' Skrive ut kursene i sortert rekkefølge ved hjelp av Liste: '+ liste) // Fjerne elementer fra HashSet ved hjelp av remove () eduCourses.remove (' Python ') // Iterere over HashSet-elementer System.out.println (' Iterere over kursliste etter fjerning Python: ') Iterator i = eduCourses.iterator () mens (i.hasNext ()) System.out.println (i.next ()) // Opprette et annet objekt av HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Fjerner alle de nye elementene fra HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Etter påkalling removeAll () metodekurs igjen: '+ eduCourses) // Fjerne elementer på grunnlag av spesifisert tilstand eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Etter påkalling av removeIf () -metoden: '+ eduCourses) // Fjerne elementer fra eduCourses som er spesifisert i eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet etter' + 'retainAll () -operasjon: '+ eduNewCourses) // Fjerne alle elementene som er tilgjengelige i settet eduCourses.clear () System.out.println (' Etter å ha påkalt clear () -metoden: '+ eduCourses)}}

Når du utfører ovennevnte kode, vil den gi deg den nedenfor viste utgangen.

Med dette kommer vi til slutten av denne artikkelen. Håper jeg klarte å holde konseptene skarpe og klare. Du kan lære mer om ved å gå gjennom vår .

Nå som du har forstått hva som er et HashSet i Java, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne 'HashSet i Java' -artikkelen, så kommer vi tilbake til deg så snart som mulig.