Kako koristiti HashSet u Javi?

Kako Koristiti Hashset U Javi



Java ima klasu zbirke pod nazivom HashSet koja implementira Set sučelje koje koristi hash tablicu za pohranu. Koristi se za čuvanje zbirke različitih elemenata u bilo kojem rasporedu. Glavna prednost korištenja HashSet-a je ta što omogućuje brzi pristup elementima, budući da koristi hashiranje za pohranu elemenata. HashSet je idealan za uklanjanje duplikata i pronalaženje zajedničkih elemenata između dva skupa.

Ovaj će vodič ilustrirati HashSet zajedno s mogućim primjerima u Javi.

Kako koristiti HashSet u Javi?

Da biste koristili HashSet u Javi, prvo uvezite klasu HashSet. Nakon toga izradite objekt HashSet i dodajte elemente koristeći ' dodati() ” metoda. Upotrijebite funkciju remove() za uklanjanje člana HashSeta.







Korisnici također mogu koristiti metodu contains() za izračunavanje postoji li element u HashSet-u. Konačno, za iteraciju po elementima u HashSet-u koristite petlju for-each.



Evo nekoliko primjera kako koristiti HashSet u Javi:



Primjer 1: Uklanjanje duplikata iz ArrayList-a
Jedan uobičajeni slučaj upotrebe za HashSet je uklanjanje duplikata iz zbirke. Evo primjera kako koristiti HashSet za uklanjanje duplikata iz ArrayList-a:





uvoz Java. util . ArrayList ;
uvoz Java. util . HashSet ;

javnost razreda RemoveDuplicatesExample {
javnost statički poništiti glavni ( Niz [ ] args ) {
ArrayList listWithDuplicates = novi ArrayList ( ) ;
popis s duplikatima. dodati ( 'jabuka' ) ;
popis s duplikatima. dodati ( 'banana' ) ;
popis s duplikatima. dodati ( 'naranča' ) ;
popis s duplikatima. dodati ( 'jabuka' ) ;
popis s duplikatima. dodati ( 'naranča' ) ;

HashSet setWithoutDuplicates = novi HashSet ( popis s duplikatima ) ;
ArrayList popis bez duplikata = novi ArrayList ( setWithoutDuplicates ) ;

Sustav. van . println ( 'Popis s duplikatima: ' + popis s duplikatima ) ;
Sustav. van . println ( 'Popis bez duplikata: ' + popis bez duplikata ) ;
}
}

Opis gornjeg koda dat je u nastavku:

  • Prvo stvorite ArrayList nizova s ​​duplikatima.
  • Zatim stvorite HashSet iz ArrayList-a. Budući da HashSet može sadržavati samo jedinstvene elemente, ovo učinkovito uklanja duplikate.
  • Na kraju, kreirajte novi ArrayList iz HashSeta da biste dobili popis bez duplikata.

Izlaz



Izlaz pokazuje da je dupliciranje uklonjeno s popisa.

Primjer 2: Pronalaženje zajedničkih elemenata između dva skupa
Drugi slučaj upotrebe za HashSet je pronalaženje zajedničkih elemenata između dva skupa. Evo primjera kako koristiti HashSet za pronalaženje zajedničkih elemenata između dva skupa:

uvoz Java. util . HashSet ;

javnost razreda FindCommonElementsExample { // Navedite naziv klase
javnost statički poništiti glavni ( Niz [ ] args ) {
HashSet set1 = novi HashSet ( ) ;
set1. dodati ( 1 ) ;
set1. dodati ( 2 ) ; // Ovdje dodajte vrijednosti
set1. dodati ( 3 ) ;

HashSet set2 = novi HashSet ( ) ;
set2. dodati ( 2 ) ;
set2. dodati ( 3 ) ; // Ovdje dodajte vrijednosti
set2. dodati ( 4 ) ;

HashSet commonElements = novi HashSet ( set1 ) ;
zajedničkiElementi. zadržatiSve ( set2 ) ;

Sustav. van . println ( 'Set 1: ' + set1 ) ;
Sustav. van . println ( 'Set 2: ' + set2 ) ;
Sustav. van . println ( 'Zajednički elementi: ' + zajedničkiElementi ) ;
}
}

Objašnjenje je navedeno u nastavku:

  • Prvo stvorite dva HashSet objekta i dodajte im neke cijele brojeve.
  • Zatim kreirajte novi HashSet objekt i dodajte mu sve elemente iz skupa1.
  • Nakon toga, pozovite metodu retainAll() na ovom novom objektu HashSet, prosljeđujući set2 kao argument.
  • Učinkovito uklanja sve elemente iz novog HashSeta koji nisu u skupu2, ostavljajući samo zajedničke elemente.

Izlaz

Izlaz pokazuje da su pronađeni zajednički elementi između dva skupa.

Zaključak

HashSet je moćna klasa zbirke u Javi koja se koristi za pohranu skupa jedinstvenih elemenata bez određenog redoslijeda. Pruža metode kao što su ' dodati() ”, “ ukloniti() ', i ' sadrži () ” za dodavanje, uklanjanje i provjeru prisutnosti elemenata u HashSet-u. Iterira preko elemenata i jednostavan je s for-each petljom. Implementacijom metoda hashCode() i equals(), korisnici također mogu koristiti prilagođene objekte u HashSet-u.

Ovaj vodič pokriva sve moguće primjere korištenja HashSeta u Javi.