Paano Mag-alis at Mag-access ng Mga Elemento ng ConcurrentHashMap sa Java?

Paano Mag Alis At Mag Access Ng Mga Elemento Ng Concurrenthashmap Sa Java



Ang ' ConcurrentHashMap ” class ay ang pinahusay na bersyon ng tradisyonal na HashMap. Nagbibigay ito ng maraming benepisyo sa programmer tulad ng pagtitipid ng maraming oras, higit na kadalian, at pagpapahusay ng flexibility. Maaari itong magsagawa ng maraming gawain nang magkatabi nang sabay-sabay, gayunpaman para sa maraming pag-upgrade ng halaga ng mga node isang pag-upgrade lang ang nagagawa sa isang pagkakataon.

Ipinapakita ng artikulong ito ang pamamaraan sa Pag-alis at Pag-access sa Mga Elemento ng ConcurrentHashMap sa Java.

Paano Mag-alis ng ConcurrentHashMap Elements sa Java?

Ang mga partikular na elemento ay maaaring alisin mula sa ' ConcurrentHashMap 'mga elemento sa pamamagitan ng' alisin () ” paraan. Upang alisin ang lahat ng mga elemento nang sabay-sabay, ang ' malinaw() ” paraan ay ang pinakamahusay na pagpipilian upang piliin.







Mayroon ding dalawang variation ng 'remove()' method:



  • Ang ' alisin (susi) Tinatanggal ng ” ang entity na mayroong tinukoy na “ susi ” mula sa “ConcurrentHashMap”.
  • Ang ' alisin (key, halaga) 'tinatanggal ang entity na tinukoy' susi ” kasama ng kaukulang “ halaga ” mula sa “ConcurrentHashMap”.

Bisitahin ang bloke ng code sa ibaba para sa isang mas mahusay na paliwanag:



angkat java.util.concurrent.ConcurrentHashMap ;
klase ugat
{
pampubliko static walang bisa pangunahing ( String [ ] args ) //paglikha ng pangunahing() na pamamaraan
{ // ConcurrentHashMap Declaration
ConcurrentHashMap Team = bago ConcurrentHashMap ( ) ;
Koponan. ilagay ( 'Thor' , 2 ) ;
Koponan. ilagay ( 'Kakaiba' , 4 ) ;
Koponan. ilagay ( 'Hawkeye' , 6 ) ;
Sistema . palabas . println ( 'ConcurrentHashMap: ' + Koponan ) ;

int halaga = Koponan. tanggalin ( 'Kakaiba' ) ;
Sistema . palabas . println ( 'Ang halaga ' + halaga + ' ay tinanggal' ) ;
Sistema . palabas . println ( 'ConcurrentHashMap: ' + Koponan ) ;

boolean resulta = Koponan. tanggalin ( 'Hawkeye' , 6 ) ;
Sistema . palabas . println ( 'Inalis ba ang entry na {Hawkeye = 6}?' + resulta ) ;
Sistema . palabas . println ( 'Na-update na ConcurrentHashMap: ' + Koponan ) ;

Koponan. malinaw ( ) ;
Sistema . palabas . println ( 'Na-update na ConcurrentHashMap: ' + Koponan ) ;

}
}

Paglalarawan ng block ng code sa itaas:





  • Una, ang 'ConcurrentHashMap' na pinangalanang ' Koponan ” ay nilikha, at pagkatapos ay ilalagay ang dummy data sa loob nito gamit ang “ ilagay ” paraan.
  • Susunod, ang ' alisin () Ginagamit ang 'paraan at ang susi ng' Kakaiba ” ay ipinasa dito. Ang pamamaraang ito ay nag-aalis ng entity mula sa mapa na may susi ng 'Kakaiba'.
  • Bilang karagdagan, ipakita ang natitirang mga elemento ng mapa sa pamamagitan ng 'ConcurrentHashMap'.
  • Ngayon, ipasa ang ' susi 'at katumbas na' halaga ' sa ' alisin () ” paraan para tanggalin ang isang entity mula sa “ConcurrentHashMap” na may partikular na key at value.
  • Pagkatapos nito, ipakita ang 'ConcurrentHashMap' upang biswal na makita ang pagkakaiba.
  • Sa huli, gamitin ang ' malinaw() ” paraan para tanggalin ang lahat ng naninirahan na elemento sa loob ng “ConcurrentHashMap”. Gayundin, ipakita ang 'ConcurrentHashMap' sa console sa dulo.

Pagkatapos ng pagtatapos ng yugto ng compilation:



Ipinapakita ng snapshot ang mga elemento na inalis mula sa ConcurrentHashMap.

Paano Mag-access ng Mga Elemento ng ConcurrentHashMap sa Java?

Ang mga elemento ng ' ConcurrentHashMap ” ay maaaring ma-access sa pamamagitan ng paggamit ng maraming grupo ng mga pamamaraan. Kasama sa unang pangkat ang ' entrySet() ”, “ keySet() 'at' values() ' paraan. Ginagamit ang mga ito upang makuha ang lahat ng mga elemento nang sabay-sabay. Sa pamamagitan ng paggamit ng mga pamamaraan sa itaas, maaaring piliin ng programmer na kunin ang lahat ng ' mga susi ”, “ mga halaga 'o pareho' susi/halaga ” pagmamapa ng mapa.

Bisitahin ang code sa ibaba para sa pag-unawa sa praktikal na pagpapatupad ng mga pamamaraan sa itaas:

angkat java.util.concurrent.ConcurrentHashMap ;

klase Pangunahing {
pampubliko static walang bisa pangunahing ( String [ ] args ) //paglikha ng pangunahing() na pamamaraan
{ // ConcurrentHashMap Declaration
ConcurrentHashMap Team = bago ConcurrentHashMap ( ) ;
Koponan. ilagay ( 'Thor' , 2 ) ;
Koponan. ilagay ( 'Kakaiba' , 4 ) ;
Koponan. ilagay ( 'Hawkeye' , 6 ) ;
Koponan. ilagay ( 'Black Panther' , 8 ) ;
Sistema . palabas . println ( 'ConcurrentHashMap: ' + Koponan ) ;
Sistema . palabas . println ( 'Kunin ang Susi at Mga Halaga: ' + Koponan. entrySet ( ) ) ;
Sistema . palabas . println ( 'Kunin ang Mga Susi: ' + Koponan. keySet ( ) ) ;
Sistema . palabas . println ( 'Kunin ang Mga Halaga: ' + Koponan. mga halaga ( ) ) ;
}
}

Paglalarawan ng block ng code sa itaas:

  • Una, lumikha ng isang 'ConcurrentHashMap' na pinangalanang ' Koponan ” at ipasok ang maraming elemento dito gamit ang “ ilagay() ” paraan.
  • Susunod, ipakita ang 'ConcurrentHashMap' sa console gamit ang ' out.println() ” paraan.
  • Pagkatapos, gamitin ang ' entrySet() ” paraan para makuha ang lahat ng data na nasa mapa.
  • Pagkatapos nito, gamitin ang ' keySet() ” paraan para makuha lamang ang mga susi mula sa mapa.
  • Sa huli, gamitin ang ' values() ” paraan upang makuha lamang ang mga halagang nauugnay sa bawat key. Ibinabalik lamang nito ang mga halaga sa pagkakasunud-sunod.

Pagkatapos ng pagpapatupad ng code sa itaas:

Sa snapshot sa itaas, ang output ng mga pamamaraan na ginamit sa itaas ay ipinapakita sa console. At ang iba't ibang kulay na mga hangganan ay ginagamit upang lumikha ng isang visual na paghihiwalay sa pagitan ng output ng bawat pamamaraan.

Ngayon, ang pangalawang grupo ay kinabibilangan ng ' kumuha () 'at' getOrDefault() ' paraan. Ang mga pamamaraang ito ay ginagamit upang makuha ang ' mga susi ' galing sa ' ConcurrentHashMap ”. Halimbawa, bisitahin ang block ng code sa ibaba:

angkat java.util.concurrent.ConcurrentHashMap ;
klase Pangunahing {
pampubliko static walang bisa pangunahing ( String [ ] args ) //paglikha ng pangunahing() na pamamaraan
{ // ConcurrentHashMap Declaration
ConcurrentHashMap Team = bago ConcurrentHashMap ( ) ;
Koponan. ilagay ( 'Thor' , 2 ) ;
Koponan. ilagay ( 'Kakaiba' , 4 ) ;
Koponan. ilagay ( 'Hawkeye' , 6 ) ;
Koponan. ilagay ( 'Black Panther' , 8 ) ;
Sistema . palabas . println ( 'Gumagamit ng getOrDefault(): ' + halaga2 ) ;

int halaga1 = Koponan. makuha ( 'Hawkeye' ) ;
Sistema . palabas . println ( 'Ang nakuhang Key para sa tinukoy na Halaga ay: ' + halaga1 ) ;
int halaga2 = Koponan. getOrDefault ( 'Romanoff' , 10 ) ;
Sistema . palabas . println ( 'ConcurrentHashMap: ' + Koponan ) ;
}
}

Paliwanag ng code sa itaas:

  • Gamitin ang parehong ' ConcurrentHashMap ” na nilikha sa itaas na bloke ng code.
  • Bilang karagdagan, ilapat ang ' kumuha () ” na paraan at ipasa ang halaga na ang susi ay kukunin sa loob ng panaklong nito.
  • Bukod dito, ang paggamit ng ' getOrDefault() ” paraan na kumukuha ng dalawang parameter/values, ang value, at ang default na key. Kung ang tinukoy na bagay ay matatagpuan sa loob ng mapa, ang kaukulang key ay makukuha. At kung hindi nahanap ang tinukoy na halaga, gagamitin ang default na key.
  • Pagkatapos nito, iimbak ang mga resulta ng parehong mga pamamaraan sa mga variable at ipakita ang mga ito sa console para sa mga layunin ng visualization.

Pagkatapos ng pagpapatupad ng bloke ng code sa itaas:

Ang snapshot sa itaas ay nagpapakita ng mga key na nauugnay sa mga halaga na nakuha at na-print sa console.

Konklusyon

Upang alisin/tanggalin ang mga partikular na elemento mula sa “ ConcurrentHashMap 'ang' alisin () ” paraan ay maaaring gamitin. Sa pamamagitan ng paggamit nito, maaaring tanggalin ng programmer ang isang elemento na may partikular na “ susi ' o katumbas na ' halaga ”. Gamit ang ' malinaw() ” paraan, ang bawat elementong naninirahan sa mapa ay matatanggal nang sabay-sabay. Para sa pag-access, ang ' entrySet() ”, “ keySet() 'at' values() ” mga pamamaraan ang ginagamit. Maaari nilang makuha ang lahat ' mga susi/halaga ”, “ mga susi ”, at “ mga halaga ' galing sa ' ConcurrentHashMap ” sabay-sabay. Upang makuha lamang ang mga partikular na susi, ang ' makuha 'at' getOrDefault ” mga pamamaraan ang ginagamit.