Sådan fjerner og får du adgang til ConcurrentHashMap-elementer i Java?

Sadan Fjerner Og Far Du Adgang Til Concurrenthashmap Elementer I Java



Det ' ConcurrentHashMap ” klasse er den forbedrede version af traditionelle HashMap. Det giver en masse fordele for programmøren som at spare en masse tid, mere lethed og øger fleksibiliteten. Det kan udføre flere opgaver side om side på samme tid, men for flere opgraderinger af værdien af ​​noder udføres kun én opgradering ad gangen.

Denne artikel demonstrerer proceduren til at fjerne og få adgang til ConcurrentHashMap-elementer i Java.

Sådan fjerner du ConcurrentHashMap-elementer i Java?

De specifikke elementer kan fjernes fra ' ConcurrentHashMap ' elementer gennem ' fjerne() ” metode. For at fjerne alle elementer på én gang, ' klar() ” metode er den bedste mulighed at vælge.







Der er også to varianter af 'remove()'-metoden:



  • Det ' fjern (nøgle) ' sletter den enhed, der har den angivne ' nøgle ' fra 'ConcurrentHashMap'.
  • Det ' fjern (nøgle, værdi) ' sletter den enhed, der har angivet ' nøgle ” langs den tilsvarende ” værdi ' fra 'ConcurrentHashMap'.

Besøg nedenstående kodeblok for en bedre forklaring:



importere java.util.concurrent.ConcurrentHashMap ;
klasse Rod
{
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) //oprettelse af main() metode
{ // ConcurrentHashMap-erklæring
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Hold. sætte ( 'Thor' , 2 ) ;
Hold. sætte ( 'Mærkelig' , 4 ) ;
Hold. sætte ( 'Hawkeye' , 6 ) ;
System . ud . println ( 'ConcurrentHashMap: ' + Hold ) ;

int værdi = Hold. fjerne ( 'Mærkelig' ) ;
System . ud . println ( 'Værdien ' + værdi + 'er fjernet' ) ;
System . ud . println ( 'ConcurrentHashMap: ' + Hold ) ;

boolesk resultat = Hold. fjerne ( 'Hawkeye' , 6 ) ;
System . ud . println ( 'Er posten {Hawkeye = 6} fjernet?' + resultat ) ;
System . ud . println ( 'Opdateret ConcurrentHashMap: ' + Hold ) ;

Hold. klar ( ) ;
System . ud . println ( 'Opdateret ConcurrentHashMap: ' + Hold ) ;

}
}

Beskrivelse af ovenstående kodeblok:





  • Først 'ConcurrentHashMap' med navnet ' Hold ' oprettes, og derefter indsættes dummy-data i den ved hjælp af ' sætte ” metode.
  • Dernæst ' fjerne() ” metode bruges og nøglen til ” Mærkelig ” videregives til den. Denne metode fjerner enheden fra kortet med nøglen 'Mærkelig'.
  • Vis desuden de resterende elementer af kortet via 'ConcurrentHashMap'.
  • Send nu ' nøgle ' og tilsvarende ' værdi ' til ' fjerne() ” metode til at slette en enhed fra “ConcurrentHashMap”, der har en specifik nøgle og værdi.
  • Derefter skal du vise 'ConcurrentHashMap' for visuelt at se forskellen.
  • Til sidst skal du bruge ' klar() ”-metoden til at slette alle de levende elementer inde i “ConcurrentHashMap”. Vis også 'ConcurrentHashMap' på konsollen til sidst.

Efter afslutningen af ​​kompileringsfasen:



Snapshottet viser de elementer, der er blevet fjernet fra ConcurrentHashMap.

Sådan får du adgang til ConcurrentHashMap-elementer i Java?

Elementerne i ' ConcurrentHashMap ” kan tilgås ved at bruge flere grupper af metoder. Den første gruppe omfatter ' entrySet() ', ' keySet() ' og ' værdier() ' metoder. De bruges til at hente alle elementer på én gang. Ved at bruge ovenstående metoder kan programmøren vælge at hente alle ' nøgler ', ' værdier ' eller begge ' nøgle/værdi ” kortlægning af kortet.

Besøg nedenstående kode for at forstå den praktiske implementering af ovenstående metoder:

importere java.util.concurrent.ConcurrentHashMap ;

klasse Hoved {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) //oprettelse af main() metode
{ // ConcurrentHashMap-erklæring
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Hold. sætte ( 'Thor' , 2 ) ;
Hold. sætte ( 'Mærkelig' , 4 ) ;
Hold. sætte ( 'Hawkeye' , 6 ) ;
Hold. sætte ( 'Sort panter' , 8 ) ;
System . ud . println ( 'ConcurrentHashMap: ' + Hold ) ;
System . ud . println ( 'Hent nøgle og værdier: ' + Hold. entrySet ( ) ) ;
System . ud . println ( 'Hent nøgler:' + Hold. nøglesæt ( ) ) ;
System . ud . println ( 'Hent værdier: ' + Hold. værdier ( ) ) ;
}
}

Beskrivelse af ovenstående kodeblok:

  • Først skal du oprette et 'ConcurrentHashMap' med navnet ' Hold ' og indsæt flere elementer i den ved hjælp af ' sætte() ” metode.
  • Vis derefter 'ConcurrentHashMap' på konsollen ved hjælp af ' out.println() ” metode.
  • Brug derefter ' entrySet() ” metode til at hente alle de data, der findes på kortet.
  • Brug derefter ' keySet() ” metode til kun at hente nøgler fra kortet.
  • Til sidst skal du bruge ' værdier() ” metode til kun at hente værdier forbundet med hver nøgle. Dette returnerer kun værdier i rækkefølge.

Efter udførelse af ovenstående kode:

I ovenstående snapshot vises output fra de ovenfor anvendte metoder på konsollen. Og forskellige farvede grænser bruges til at skabe en visuel adskillelse mellem output fra hver metode.

Nu inkluderer den anden gruppe ' få() ' og ' getOrDefault() ' metoder. Disse metoder bruges til at hente ' nøgler ' fra ' ConcurrentHashMap ”. Besøg for eksempel nedenstående kodeblok:

importere java.util.concurrent.ConcurrentHashMap ;
klasse Hoved {
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) //oprettelse af main() metode
{ // ConcurrentHashMap-erklæring
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Hold. sætte ( 'Thor' , 2 ) ;
Hold. sætte ( 'Mærkelig' , 4 ) ;
Hold. sætte ( 'Hawkeye' , 6 ) ;
Hold. sætte ( 'Sort panter' , 8 ) ;
System . ud . println ( 'Brug af getOrDefault(): ' + værdi2 ) ;

int værdi1 = Hold. ( 'Hawkeye' ) ;
System . ud . println ( 'Hentet nøgle for specificeret værdi er: ' + værdi1 ) ;
int værdi2 = Hold. getOrDefault ( 'Romanoff' , 10 ) ;
System . ud . println ( 'ConcurrentHashMap: ' + Hold ) ;
}
}

Forklaring af ovenstående kode:

  • Brug det samme ' ConcurrentHashMap ” som er oprettet i ovenstående kodeblok.
  • Anvend desuden ' få() ”-metoden og videregive den værdi, hvis nøgle skal hentes inden for dens parentes.
  • Desuden udnytter man ' getOrDefault() ” metode, der tager to parametre/værdier, værdien og standardnøglen. Hvis det angivne objekt findes inde på kortet, hentes den tilsvarende nøgle. Og hvis den angivne værdi ikke findes, bliver standardnøglen brugt.
  • Gem derefter resultaterne af begge metoder i variabler og vis dem på konsollen til visualiseringsformål.

Efter udførelse af ovenstående kodeblok:

Ovenstående snapshot viser nøglerne i forhold til de værdier, der er hentet og udskrevet på konsollen.

Konklusion

For at fjerne/slette bestemte elementer fra ' ConcurrentHashMap ' det ' fjerne() ” metode kan bruges. Ved at bruge det kan programmøren slette et element, der har en specifik ' nøgle ' eller tilsvarende ' værdi ”. Ved brug af ' klar() ”-metoden bliver hvert element, der findes på kortet, slettet på én gang. For at få adgang, ' entrySet() ', ' keySet() ' og ' værdier() ”-metoder anvendes. De kan hente alle ' nøgler/værdier ', ' nøgler ', og ' værdier ' fra ' ConcurrentHashMap ' på en gang. For kun at hente specifikke nøgler, ' ' og ' getOrDefault ”-metoder anvendes.