Hvordan bruger man HashSet i Java?

Hvordan Bruger Man Hashset I Java



Java har en samlingsklasse kaldet HashSet, der implementerer Set-grænsefladen, som bruger en hash-tabel til opbevaring. Det bruges til at holde en samling af forskellige elementer i ethvert arrangement. Den største fordel ved at bruge HashSet er, at det giver hurtig adgang til elementer, da det bruger hashing til at gemme elementerne. HashSet er ideel til at fjerne dubletter og finde fælles elementer mellem to sæt.

Denne guide vil illustrere HashSet sammen med mulige eksempler i Java.

Hvordan bruger man HashSet i Java?

For at bruge HashSet i Java skal du først importere HashSet-klassen. Derefter skal du oprette et HashSet-objekt og tilføje elementer ved at bruge ' tilføje() ” metode. Brug funktionen remove() til at fjerne et medlem af HashSet.







Brugere kan også bruge contains()-metoden til at beregne, om der findes et element i HashSet. Til sidst, for at iterere over elementerne i HashSet, skal du bruge en for-hver-løkke.



Her er et par eksempler på, hvordan du bruger HashSet i Java:



Eksempel 1: Fjernelse af dubletter fra en ArrayList
En almindelig brugssag for HashSet er at fjerne dubletter fra en samling. Her er et eksempel på, hvordan man bruger HashSet til at fjerne dubletter fra en ArrayList:





importere java. util . ArrayList ;
importere java. util . HashSet ;

offentlig klasse FjernDuplicatesEksempel {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
ArrayList listWithDuplicates = ny ArrayList ( ) ;
listeMedDuplikater. tilføje ( 'æble' ) ;
listeMedDuplikater. tilføje ( 'banan' ) ;
listeMedDuplikater. tilføje ( 'orange' ) ;
listeMedDuplikater. tilføje ( 'æble' ) ;
listeMedDuplikater. tilføje ( 'orange' ) ;

HashSet sætUdenDuplikater = ny HashSet ( listeMedDuplikater ) ;
ArrayList-listeUdenDuplikater = ny ArrayList ( sætUdenDuplikater ) ;

System. ud . println ( 'Liste med dubletter: ' + listeMedDuplikater ) ;
System. ud . println ( 'Liste uden dubletter: ' + listeUdenDuplikater ) ;
}
}

Beskrivelsen af ​​ovenstående kode er givet nedenfor:

  • Først skal du oprette en ArrayList af strenge med dubletter.
  • Opret derefter et HashSet fra ArrayList. Det er fordi et HashSet kun kan indeholde unikke elementer, dette fjerner effektivt dubletterne.
  • Til sidst skal du oprette en ny ArrayList fra HashSet for at få en liste uden dubletter.

Produktion



Outputtet viser, at duplikering er blevet fjernet fra listen.

Eksempel 2: Find fælles elementer mellem to sæt
En anden use case for HashSet er at finde fælles elementer mellem to sæt. Her er et eksempel på, hvordan man bruger HashSet til at finde fælles elementer mellem to sæt:

importere java. util . HashSet ;

offentlig klasse Find CommonElementsExample { // Angiv klassenavn
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
        HashSet set1 = ny HashSet ( ) ;
sæt 1. tilføje ( 1 ) ;
sæt 1. tilføje ( 2 ) ; // Tilføj værdier her
sæt 1. tilføje ( 3 ) ;

HashSet sæt 2 = ny HashSet ( ) ;
sæt 2. tilføje ( 2 ) ;
sæt 2. tilføje ( 3 ) ; // Tilføj værdier her
sæt 2. tilføje ( 4 ) ;

HashSet commonElements = ny HashSet ( sæt 1 ) ;
almindelige elementer. beholdeAlle ( sæt 2 ) ;

System. ud . println ( 'Sæt 1:' + sæt 1 ) ;
System. ud . println ( 'Sæt 2:' + sæt 2 ) ;
System. ud . println ( 'Fælles elementer: ' + almindelige elementer ) ;
}
}

Forklaringen er givet nedenfor:

  • Først skal du oprette to HashSet-objekter og tilføje nogle heltal til dem.
  • Opret derefter et nyt HashSet-objekt og tilføj alle elementer fra set1 til det.
  • Kald derefter retainAll()-metoden på dette nye HashSet-objekt, og indfør set2 som et argument.
  • Det fjerner effektivt alle elementer fra det nye HashSet, der ikke er i set2, og efterlader kun de fælles elementer.

Produktion

Outputtet viser, at der er fundet fælles elementer mellem to sæt.

Konklusion

HashSet er en kraftfuld samlingsklasse i Java, der bruges til at gemme et sæt unikke elementer i nogen bestemt rækkefølge. Det giver metoder som ' tilføje() ', ' fjerne() ', og ' indeholder() ” for at tilføje, fjerne og kontrollere tilstedeværelsen af ​​elementer i HashSet. Det itererer over elementer og er enkelt med en for-hver-løkke. Ved at implementere metoderne hashCode() og equals() kan brugere også bruge brugerdefinerede objekter i et HashSet.

Denne guide har dækket alle mulige eksempler på brug af HashSet i Java.