Hur tar man bort och får åtkomst till ConcurrentHashMap-element i Java?

Hur Tar Man Bort Och Far Atkomst Till Concurrenthashmap Element I Java



den ' ConcurrentHashMap klass är den förbättrade versionen av traditionella HashMap. Det ger många fördelar för programmeraren som att spara mycket tid, mer enkelhet och förbättrar flexibiliteten. Den kan utföra flera uppgifter sida vid sida samtidigt, men för flera uppgraderingar av värdet på noder görs endast en uppgradering åt gången.

Den här artikeln visar proceduren för att ta bort och komma åt ConcurrentHashMap-element i Java.

Hur tar man bort ConcurrentHashMap-element i Java?

De specifika elementen kan tas bort från ' ConcurrentHashMap ' element genom ' avlägsna() 'metoden. För att ta bort alla element på en gång, ' klar() ”-metoden är det bästa alternativet att välja.







Det finns också två varianter av metoden 'remove()':



  • den ' ta bort (nyckel) ” tar bort enheten som har den angivna ” nyckel ' från 'ConcurrentHashMap'.
  • den ' ta bort (nyckel, värde) ” tar bort enheten som har angett ” nyckel ” längs motsvarande ” värde ' från 'ConcurrentHashMap'.

Besök kodblocket nedan för en bättre förklaring:



importera java.util.concurrent.ConcurrentHashMap ;
klass Rot
{
offentlig statisk tomhet huvud ( Sträng [ ] args ) //skapandet av main()-metoden
{ // ConcurrentHashMap-deklaration
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Team. sätta ( 'Tor' , 2 ) ;
Team. sätta ( 'Konstig' , 4 ) ;
Team. sätta ( 'Hawkeye' , 6 ) ;
Systemet . ut . println ( 'ConcurrentHashMap: ' + Team ) ;

int värde = Team. avlägsna ( 'Konstig' ) ;
Systemet . ut . println ( 'Värdet ' + värde + ' är borttagen' ) ;
Systemet . ut . println ( 'ConcurrentHashMap: ' + Team ) ;

booleskt resultat = Team. avlägsna ( 'Hawkeye' , 6 ) ;
Systemet . ut . println ( 'Är posten {Hawkeye = 6} borttagen?' + resultat ) ;
Systemet . ut . println ( 'Uppdaterad ConcurrentHashMap: ' + Team ) ;

Team. klar ( ) ;
Systemet . ut . println ( 'Uppdaterad ConcurrentHashMap: ' + Team ) ;

}
}

Beskrivning av ovanstående kodblock:





  • Först, 'ConcurrentHashMap' med namnet ' Team ” skapas, och sedan infogas dummydata inuti den med hjälp av ” sätta 'metoden.
  • Därefter ' avlägsna() ”-metoden används och nyckeln till ” Konstig ” överförs till den. Denna metod tar bort entiteten från kartan med nyckeln 'Konstigt'.
  • Visa dessutom de återstående delarna av kartan via 'ConcurrentHashMap'.
  • Passera nu ' nyckel ' och motsvarande ' värde ' till ' avlägsna() ” metod för att ta bort en enhet från “ConcurrentHashMap” som har en specifik nyckel och ett specifikt värde.
  • Efter det, visa 'ConcurrentHashMap' för att visuellt se skillnaden.
  • I slutändan, använd ' klar() ”-metoden för att ta bort alla befintliga element i ”ConcurrentHashMap”. Visa också 'ConcurrentHashMap' på konsolen i slutet.

Efter slutet av kompileringsfasen:



Ögonblicksbilden visar de element som har tagits bort från ConcurrentHashMap.

Hur får man åtkomst till ConcurrentHashMap Elements i Java?

Delarna av ' ConcurrentHashMap ” kan nås genom att använda flera grupper av metoder. Den första gruppen inkluderar ' entrySet() ”, “ keySet() ' och ' värden() ' metoder. De används för att hämta alla element på en gång. Genom att använda ovanstående metoder kan programmeraren välja att hämta alla ' nycklar ”, “ värden ' eller båda ' nyckelvärde ” kartläggning av kartan.

Besök koden nedan för att förstå den praktiska implementeringen av ovanstående metoder:

importera java.util.concurrent.ConcurrentHashMap ;

klass Main {
offentlig statisk tomhet huvud ( Sträng [ ] args ) //skapandet av main()-metoden
{ // ConcurrentHashMap-deklaration
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Team. sätta ( 'Tor' , 2 ) ;
Team. sätta ( 'Konstig' , 4 ) ;
Team. sätta ( 'Hawkeye' , 6 ) ;
Team. sätta ( 'Svart panter' , 8 ) ;
Systemet . ut . println ( 'ConcurrentHashMap: ' + Team ) ;
Systemet . ut . println ( 'Hämta nyckel och värden: ' + Team. entrySet ( ) ) ;
Systemet . ut . println ( 'Hämta nycklar:' + Team. keySet ( ) ) ;
Systemet . ut . println ( 'Hämta värden: ' + Team. värden ( ) ) ;
}
}

Beskrivning av ovanstående kodblock:

  • Skapa först en 'ConcurrentHashMap' med namnet ' Team ' och infoga flera element i den med hjälp av ' sätta() 'metoden.
  • Visa sedan 'ConcurrentHashMap' på konsolen med hjälp av ' out.println() 'metoden.
  • Använd sedan ' entrySet() ” metod för att hämta all data som finns på kartan.
  • Efter det, använd ' keySet() ” metod för att bara hämta nycklar från kartan.
  • Till slut, använd ' värden() ” metod för att endast hämta värden som är associerade med varje nyckel. Detta returnerar endast värden i följd.

Efter exekvering av ovanstående kod:

I ögonblicksbilden ovan visas resultatet av de ovan använda metoderna på konsolen. Och olika färgade gränser används för att skapa en visuell separation mellan utdata från varje metod.

Nu inkluderar den andra gruppen ' skaffa sig() ' och ' getOrDefault() ' metoder. Dessa metoder används för att hämta ' nycklar ' från ' ConcurrentHashMap ”. Besök till exempel kodblocket nedan:

importera java.util.concurrent.ConcurrentHashMap ;
klass Main {
offentlig statisk tomhet huvud ( Sträng [ ] args ) //skapandet av main()-metoden
{ // ConcurrentHashMap-deklaration
ConcurrentHashMap Team = ny ConcurrentHashMap ( ) ;
Team. sätta ( 'Thor' , 2 ) ;
Team. sätta ( 'Konstig' , 4 ) ;
Team. sätta ( 'Hawkeye' , 6 ) ;
Team. sätta ( 'Svart panter' , 8 ) ;
Systemet . ut . println ( 'Använder getOrDefault(): ' + värde2 ) ;

int värde1 = Team. skaffa sig ( 'Hawkeye' ) ;
Systemet . ut . println ( 'Hämtad nyckel för angivet värde är: ' + värde1 ) ;
int värde2 = Team. getOrDefault ( 'Romanoff' , 10 ) ;
Systemet . ut . println ( 'ConcurrentHashMap: ' + Team ) ;
}
}

Förklaring av ovanstående kod:

  • Använd samma ' ConcurrentHashMap ” som skapas i ovanstående kodblock.
  • Använd dessutom ' skaffa sig() ”-metoden och skicka värdet vars nyckel kommer att hämtas inom dess parentes.
  • Dessutom använder man ' getOrDefault() ” metod som tar två parametrar/värden, värdet och standardnyckeln. Om det angivna objektet hittas inuti kartan hämtas motsvarande nyckel. Och om det angivna värdet inte hittas används standardnyckeln.
  • Efter det lagrar du resultaten av båda metoderna i variabler och visar dem på konsolen för visualiseringsändamål.

Efter exekveringen av ovanstående kodblock:

Ovanstående ögonblicksbild visar nycklarna i förhållande till de värden som hämtas och skrivs ut på konsolen.

Slutsats

För att ta bort/ta bort specifika element från ' ConcurrentHashMap 'den' avlägsna() ”-metoden kan användas. Genom att använda den kan programmeraren ta bort ett element som har en specifik ' nyckel ' eller motsvarande ' värde ”. Med användning av ' klar() ”-metoden, raderas varje element som finns på kartan på en gång. För åtkomst, ' entrySet() ”, “ keySet() ' och ' värden() ”-metoder används. De kan hämta alla ' nycklar/värden ”, “ nycklar ', och ' värden ' från ' ConcurrentHashMap ' genast. För att bara hämta specifika nycklar, ' skaffa sig ' och ' getOrDefault ”-metoder används.