Hoe HashSet in Java te gebruiken?

Hoe Hashset In Java Te Gebruiken



Java heeft een verzamelklasse genaamd HashSet die de Set-interface implementeert die een hashtabel gebruikt voor opslag. Het wordt gebruikt om een ​​verzameling afzonderlijke elementen in een arrangement te bewaren. Het belangrijkste voordeel van het gebruik van HashSet is dat het snelle toegang tot elementen mogelijk maakt, omdat het hashing gebruikt om de elementen op te slaan. HashSet is ideaal voor het verwijderen van duplicaten en het vinden van gemeenschappelijke elementen tussen twee sets.

Deze gids illustreert de HashSet samen met mogelijke voorbeelden in Java.

Hoe HashSet in Java te gebruiken?

Om HashSet in Java te gebruiken, importeert u eerst de klasse HashSet. Maak daarna een HashSet-object en voeg elementen toe met behulp van de ' toevoegen() ” methode. Gebruik de functie remove() om een ​​lid van de HashSet te verwijderen.







Gebruikers kunnen ook de methode contain() gebruiken om te berekenen of een element bestaat in de HashSet. Gebruik ten slotte een for-each-lus om de elementen in de HashSet te herhalen.



Hier zijn een paar voorbeelden van het gebruik van HashSet in Java:



Voorbeeld 1: Duplicaten verwijderen uit een ArrayList
Een veelgebruikte use-case voor HashSet is het verwijderen van duplicaten uit een verzameling. Hier is een voorbeeld van het gebruik van HashSet om duplicaten uit een ArrayList te verwijderen:





importeren Java. gebruiken . ArrayLijst ;
importeren Java. gebruiken . HashSet ;

openbaar klas VerwijderDuplicatesExample {
openbaar statisch leegte voornaamst ( Snaar [ ] argumenten ) {
ArrayList listWithDuplicates = nieuw ArrayLijst ( ) ;
lijstMetDuplicates. toevoegen ( 'appel' ) ;
lijstMetDuplicates. toevoegen ( 'banaan' ) ;
lijstMetDuplicates. toevoegen ( 'oranje' ) ;
lijstMetDuplicates. toevoegen ( 'appel' ) ;
lijstMetDuplicates. toevoegen ( 'oranje' ) ;

HashSet ingesteldZonderDuplicates = nieuw HashSet ( lijstMetDuplicates ) ;
ArrayLijst lijstZonderDuplicates = nieuw ArrayLijst ( setZonderDuplicates ) ;

Systeem. uit . println ( 'Lijst met duplicaten: ' + lijstMetDuplicates ) ;
Systeem. uit . println ( 'Lijst zonder duplicaten: ' + lijstZonderDuplicates ) ;
}
}

De beschrijving van de bovenstaande code wordt hieronder gegeven:

  • Maak eerst een ArrayList van strings met duplicaten.
  • Maak vervolgens een HashSet van de ArrayList. Omdat een HashSet alleen unieke elementen kan bevatten, verwijdert dit effectief de duplicaten.
  • Maak uiteindelijk een nieuwe ArrayList van de HashSet om een ​​lijst zonder duplicaten te krijgen.

Uitgang



De uitvoer laat zien dat duplicatie uit de lijst is verwijderd.

Voorbeeld 2: gemeenschappelijke elementen zoeken tussen twee sets
Een andere use-case voor HashSet is het vinden van gemeenschappelijke elementen tussen twee sets. Hier is een voorbeeld van het gebruik van HashSet om gemeenschappelijke elementen tussen twee sets te vinden:

importeren Java. gebruiken . HashSet ;

openbaar klas VindCommonElementsExample { // Geef de klassenaam op
openbaar statisch leegte voornaamst ( Snaar [ ] argumenten ) {
HashSet-set1 = nieuw HashSet ( ) ;
set1. toevoegen ( 1 ) ;
set1. toevoegen ( 2 ) ; // Voeg hier waarden toe
set1. toevoegen ( 3 ) ;

HashSet-set2 = nieuw HashSet ( ) ;
set2. toevoegen ( 2 ) ;
set2. toevoegen ( 3 ) ; // Voeg hier waarden toe
set2. toevoegen ( 4 ) ;

HashSet commonElements = nieuw HashSet ( set1 ) ;
gemeenschappelijkeElementen. behoudenAlles ( set2 ) ;

Systeem. uit . println ( 'Set 1: ' + set1 ) ;
Systeem. uit . println ( 'Set 2: ' + set2 ) ;
Systeem. uit . println ( 'Gemeenschappelijke elementen: ' + gemeenschappelijkeElementen ) ;
}
}

De uitleg wordt hieronder gegeven:

  • Maak eerst twee HashSet-objecten en voeg er enkele gehele getallen aan toe.
  • Maak vervolgens een nieuw HashSet-object en voeg alle elementen van set1 eraan toe.
  • Roep daarna de methode retainAll() aan op dit nieuwe HashSet-object en geef set2 door als argument.
  • Het verwijdert effectief alle elementen uit de nieuwe HashSet die niet in set2 staan, waardoor alleen de gemeenschappelijke elementen overblijven.

Uitgang

De uitvoer laat zien dat er gemeenschappelijke elementen zijn gevonden tussen twee sets.

Conclusie

HashSet is een krachtige verzamelklasse in Java die wordt gebruikt om een ​​reeks unieke elementen in willekeurige volgorde op te slaan. Het biedt methoden zoals ' toevoegen() ”, “ verwijderen() ', En ' bevat() ” om elementen in de HashSet toe te voegen, te verwijderen en te controleren op de aanwezigheid ervan. Het itereert over elementen en is eenvoudig met een for-elke lus. Door de methoden hashCode() en equals() te implementeren, kunnen gebruikers ook aangepaste objecten in een HashSet gebruiken.

Deze gids heeft alle mogelijke voorbeelden behandeld om de HashSet in Java te gebruiken.