Lär dig vad som är HashSet i Java och hur du kommer igång med det!



Den här artikeln om HashSet i Java ger dig en fullständig översikt över exakt vad som är HashSet i Java och hur du implementerar det. Det kommer också att prata om de olika metoderna och konstruktörerna som stöds av Java HashSet-klassen.

HashSet i Java är en av de viktigaste aspekterna av . Det används vanligtvis för att lagra unika värden på ett oordnat sätt. Genom denna artikel om HashSet i Java kommer jag att ge dig en fullständig genomgång av vad som exakt är en HashSet och hur du kan använda den i din applikation.

Nedan följer ämnena i denna artikel:





Låt oss komma igång genom att först förstå vad som är HashSet i Java.

HashSet i Java



java.util.HashSet klass är medlem i Java-samlingsramen somärver klassen AbstractSet ochimplementerarUppsättning gränssnitt . Det implementerar implicit en hashtable för att skapa och lagra en samling unika element. Hashtable är inget annat än en förekomst av HashMap-klassen som använder en hashmekanism för att lagra informationen i en HashSet.

Hashing är processen att konvertera informationsinnehållet till ett unikt värde som mer populärt kallas hash-kod. Denna hashkod används sedan för att indexera data som är associerade med nyckeln. Hela processen för att omvandla informationsnyckeln till hashkoden utförs internt.

hur man skriver en strängmetod

Nu för en bättre förståelse av HashSet i Java, låt mig lista några av dess funktioner:



  1. En HashSet i Java tillåter inte dubbla värden.
  2. Det kan innehålla nollvärden.
  3. HashSet följer inte insättningsordningen för lagring av data utan den använder hashkoden för att indexera värdena inom.
  4. Det är inte synkroniserad vilket automatiskt gör det tråd-osäkert.
  5. HashSet-klassen implementerar också Cloneable ochSerialiserbara gränssnitt.

Nu när du är medveten om exakt vad som är HashSet i Java, låt oss gå vidare med den här artikeln och avmystifiera skillnaderna mellan HashMap och HashSet i Java.

Java HashSet vs HashMap

HashSet HashMap
Redskapjava.util.Ställ in gränssnittRedskapjava.util.Map
Lagrar data som objektLagrar data i form av nyckel-värdepar
HashSet kräver bara en parameter för att initialisera objektetDet kräver två parametrar (nyckel, värde) för dess initialisering av objektet
Tillåter inte dubbla elementTillåter inte dubbla nycklar men du kan lagra duplicerade värden
Tillåter ett enda nullvärdeTillåter en enda nollnyckel och valfritt antal nollvärden
HashSet använd add ()metod för att lägga till eller lagra dataHashMap använder put () -metoden för lagring av data

Nu när du har en tydlig distinktion mellan HashMap och HashSet, låt oss nu fokusera på HashSet igen och dyka djupare in i den. I nästa avsnitt i den här artikeln kommer jag att introducera dig till den fullständiga hierarkin för HashSet i Java.

HashSet-hierarki i Java

Som du kan se från nedanstående diagram,HashSet-klassen implementerar Set-gränssnittet. Set-gränssnittet ärver vidare Collection-gränssnittet som så småningom utökar det Iterabla gränssnittet i en hierarkisk ordning.

retracement sekvens java för loop

Java HashSet Hierarchy - HashSet i Java - Edureka

Nu, gå vidare med den här HashSet i Java-artikeln, låt oss kolla in de olika konstruktörer stöds av denna klass.

Konstruktörer av java.util.HashSet Class

Byggare Beskrivning
HashSet () Detta är standardkonstruktören för HashSet-klassen
HashSet (int-kapacitet) Denna konstruktör används för att initialisera hashuppsättningens initiala kapacitet. Kapaciteten kan växa dynamiskt med nya element
HashSet (int-kapacitet, float loadCapacity) Denna konstruktör används för att initialisera den ursprungliga kapaciteten för hash-uppsättningen tillsammans med lastkapaciteten
HashSet (samling c) Denna konstruktör används för att initialiserahashuppsättningen med hjälp av elementen från samling c

Dessa var de fyra konstruktörerna av HashSet-klassen i . Låt oss nu ta reda på vad som är olika definieras i Java HashSet.

Metoder för java.util.HashSet-klass

Metod Beskrivning
boolean add (Object obj) Den här metoden hjälper till att lägga till ett visst element i HashSet endast om det inte finns
ogiltig rensa () Denna metod hjälper till att ta bort alla element från HashSet
Objektklon () Den här metoden returnerar en grunt kopia av HashSet-förekomsten snarare än kloner av HashSet-elementen
boolean innehåller (Objekt o) Den här metoden returnerar true om det skickade elementet finns i HashSet
boolean isEmpty () Den här metoden returnerar true om HashSet är tomt
Iterator iterator () Denna metod returnerar en iterator över elementen som finns i HashSet
boolean ta bort (Objekt o) Denna metod hjälper till att ta bort det angivna elementet från HashSet om det finns
int storlek () Den här metoden returnerar det totala antalet element som finns i HashSet

Tillsammans med ovan nämnda metoder innehåller HashSet-klassen i Java också från dess superklasser.

Låt oss nu försöka implementera dessa metoder och få våra fötter våta med kodning.

hur man sorterar array c ++

Implementering av HashSet i Java-programmet

I exemplet nedan kommer vi att försöka implementera ett antal metoder som tillhandahålls av HashSet-klassen.

importera java.util.HashSet importera java.util. * public class SampleHashSet {public static void main (String [] args) {// Skapa en HashSet-uppsättning eduCourses = new HashSet () // Lägga till nya element i HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. lägg till ('Selen') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Att lägga till dubbla element ignoreras eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Kontrollera om HashSet innehåller ett specifikt element String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' finns i kurslistan. ')} annat {System.out.println (myCourse +' finns inte i kurslistan. ')} // Sortering av eduCourses med listlista = ny ArrayList (eduCourses) Collections.sort (list) // Skriva ut de sorterade elementen i HashSet System.out.println (' Skriva ut kurserna i sorterad ordning med List: '+ lista) // Ta bort objekt från HashSet med remove () eduCourses.remove (' Python ') // Iterera över HashSet-objekt System.out.println (' Iterera över kurslista efter borttagning Python: ') Iterator i = eduCourses.iterator () medan (i.hasNext ()) System.out.println (i.next ()) // Skapa ett annat objekt av HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Ta bort alla nya element från HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Efter anropa removeAll () metodkurser kvar: '+ eduCourses) // Ta bort element på grundval av specificerat villkor eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Efter att ha anropat removeIf () -metod: '+ eduCourses) // Ta bort element från eduCourses som anges i eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet efter' + 'retainAll () operation: '+ eduNewCourses) // Ta bort alla tillgängliga element i uppsättningen eduCourses.clear () System.out.println (' Efter att ha anropat clear () -metoden: '+ eduCourses)}}

När du kör koden ovan kommer den att visa utgången nedan.

Med detta kommer vi till slutet av den här artikeln. Hoppas att jag kunde hålla koncepten skarpa och tydliga. Du kan lära dig mer om genom att gå igenom vår .

Nu när du har förstått vad som är en HashSet i Java, kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill bli Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i den här artikeln 'HashSet i Java' så återkommer vi till dig så snart som möjligt.