Paano Gamitin ang HashSet sa Java?

Paano Gamitin Ang Hashset Sa Java



Ang Java ay may klase ng koleksyon na tinatawag na HashSet na nagpapatupad ng Set interface na gumagamit ng hash table para sa storage. Ito ay ginagamit upang panatilihin ang isang koleksyon ng mga natatanging elemento sa anumang kaayusan. Ang pangunahing bentahe ng paggamit ng HashSet ay nagbibigay-daan ito sa mabilis na pag-access sa mga elemento, dahil gumagamit ito ng hashing upang iimbak ang mga elemento. Ang HashSet ay perpekto para sa pag-alis ng mga duplicate at paghahanap ng mga karaniwang elemento sa pagitan ng dalawang set.

Ang gabay na ito ay maglalarawan ng HashSet kasama ng mga posibleng halimbawa sa Java.

Paano Gamitin ang HashSet sa Java?

Upang magamit ang HashSet sa Java, i-import muna ang klase ng HashSet. Pagkatapos nito, lumikha ng isang HashSet object at magdagdag ng mga elemento gamit ang ' magdagdag () ” paraan. Gamitin ang function na remove() upang alisin ang isang miyembro ng HashSet.







Magagamit din ng mga user ang contains() na paraan upang makalkula kung mayroong elemento sa HashSet. Sa wakas, upang umulit sa mga elemento sa HashSet, gumamit ng para sa bawat loop.



Narito ang ilang mga halimbawa kung paano gamitin ang HashSet sa Java:



Halimbawa 1: Pag-alis ng mga Duplicate mula sa isang ArrayList
Ang isang karaniwang kaso ng paggamit para sa HashSet ay ang pag-alis ng mga duplicate sa isang koleksyon. Narito ang isang halimbawa kung paano gamitin ang HashSet upang alisin ang mga duplicate mula sa isang ArrayList:





angkat java. gamitin . ArrayList ;
angkat java. gamitin . HashSet ;

pampubliko klase RemoveDuplicatesExample {
pampubliko static walang bisa pangunahing ( String [ ] args ) {
ArrayList listWithDuplicates = bago ArrayList ( ) ;
listWithDuplicates. idagdag ( 'mansanas' ) ;
listWithDuplicates. idagdag ( 'saging' ) ;
listWithDuplicates. idagdag ( 'orange' ) ;
listWithDuplicates. idagdag ( 'mansanas' ) ;
listWithDuplicates. idagdag ( 'orange' ) ;

HashSet setWithoutDuplicates = bago HashSet ( listWithDuplicates ) ;
Listahan ng ArrayList na Walang mga Duplicate = bago ArrayList ( setWithoutDuplicates ) ;

Sistema. palabas . println ( 'Listahan na may mga duplicate: ' + listWithDuplicates ) ;
Sistema. palabas . println ( 'Listahan nang walang mga duplicate: ' + listWithout Duplicates ) ;
}
}

Ang paglalarawan ng code sa itaas ay ibinigay sa ibaba:

  • Una, gumawa ng ArrayList ng mga string na may mga duplicate.
  • Pagkatapos, lumikha ng isang HashSet mula sa ArrayList. Ito ay dahil ang isang HashSet ay maaari lamang maglaman ng mga natatanging elemento, ito ay epektibong nag-aalis ng mga duplicate.
  • Sa huli, lumikha ng bagong ArrayList mula sa HashSet para makakuha ng listahan na walang mga duplicate.

Output



Ang output ay nagpapakita na ang pagdoble ay inalis mula sa listahan.

Halimbawa 2: Paghahanap ng Mga Karaniwang Elemento sa Pagitan ng Dalawang Set
Ang isa pang kaso ng paggamit para sa HashSet ay ang paghahanap ng mga karaniwang elemento sa pagitan ng dalawang set. Narito ang isang halimbawa kung paano gamitin ang HashSet upang mahanap ang mga karaniwang elemento sa pagitan ng dalawang set:

angkat java. gamitin . HashSet ;

pampubliko klase FindCommonElementsExample { // Tukuyin ang pangalan ng Klase
pampubliko static walang bisa pangunahing ( String [ ] args ) {
HashSet set1 = bago HashSet ( ) ;
set1. idagdag ( 1 ) ;
set1. idagdag ( 2 ) ; // Magdagdag ng Mga Halaga dito
set1. idagdag ( 3 ) ;

HashSet set2 = bago HashSet ( ) ;
set2. idagdag ( 2 ) ;
set2. idagdag ( 3 ) ; // Magdagdag ng Mga Halaga dito
set2. idagdag ( 4 ) ;

HashSet commonElements = bago HashSet ( set1 ) ;
commonElements. panatilihin ang lahat ( set2 ) ;

Sistema. palabas . println ( 'Set 1: ' + set1 ) ;
Sistema. palabas . println ( 'Set 2: ' + set2 ) ;
Sistema. palabas . println ( 'Mga karaniwang elemento: ' + commonElements ) ;
}
}

Ang paliwanag ay ibinigay sa ibaba:

  • Una, lumikha ng dalawang HashSet object at magdagdag ng ilang integer sa kanila.
  • Pagkatapos, lumikha ng bagong HashSet object at idagdag ang lahat ng elemento mula set1 dito.
  • Pagkatapos nito, tawagan ang retainAll() na paraan sa bagong HashSet object na ito, na nagpapasa sa set2 bilang argumento.
  • Ito ay epektibong nag-aalis ng anumang mga elemento mula sa bagong HashSet na wala sa set2, nag-iiwan lamang ng mga karaniwang elemento.

Output

Ang output ay nagpapakita na ang mga karaniwang elemento ay natagpuan sa pagitan ng dalawang set.

Konklusyon

Ang HashSet ay isang malakas na klase ng koleksyon sa Java na ginagamit upang mag-imbak ng isang hanay ng mga natatanging elemento sa walang partikular na pagkakasunud-sunod. Nagbibigay ito ng mga pamamaraan tulad ng ' magdagdag () ”, “ tanggalin() ”, at “ naglalaman ng() ” upang magdagdag, mag-alis, at suriin kung may mga elemento sa HashSet. Ito ay umuulit sa mga elemento at simple na may para sa bawat loop. Sa pamamagitan ng pagpapatupad ng hashCode() at equals() na mga pamamaraan, ang mga user ay maaari ding gumamit ng mga custom na bagay sa isang HashSet.

Sinasaklaw ng gabay na ito ang lahat ng posibleng halimbawa para magamit ang HashSet sa Java.