Java ConcurrentMap-grensesnitt

I denne veiledningen vil vi lære om Java ConcurrentMap-grensesnittet og dets metoder.

Den ConcurrentMapgrensesnittet til Java samlinger rammeverket gir en tråd-safe kartet. Det vil si at flere tråder kan få tilgang til kartet samtidig uten å påvirke konsistensen til oppføringene på et kart.

ConcurrentMap er kjent som et synkronisert kart.

Det utvider kartgrensesnittet.

Klasse som implementerer ConcurrentMap

Siden ConcurrentMaper et grensesnitt, kan vi ikke lage objekter fra det.

For å kunne bruke funksjonene til ConcurrentMapgrensesnittet, må vi bruke klassen ConcurrentHashMapsom implementerer det.

Hvordan bruke ConcurrentMap?

For å bruke ConcurrentMap, må vi importere java.util.concurrent.ConcurrentMappakken først. Når vi har importert pakken, kan du lage et samtidig kart.

 // ConcurrentMap implementation by ConcurrentHashMap CocurrentMap numbers = new ConcurrentHashMap(); 

I koden ovenfor har vi opprettet et samtidig kart med navn.

Her,

  • Nøkkel - en unik identifikator som brukes til å knytte hvert element (verdi) til et kart
  • Verdi - elementer tilknyttet nøkler i et kart

Metoder for ConcurrentMap

Den ConcurrentMapGrensesnittet omfatter alle fremgangsmåtene ifølge Mapgrensesnitt. Det er fordi det Maper supergrensesnittet til ConcurrentMapgrensesnittet.

Foruten alle disse metodene, her er metodene som er spesifikke for ConcurrentMapgrensesnittet.

  • putIfAbsent () - Setter inn den angitte nøkkelen / verdien på kartet hvis den angitte nøkkelen ikke allerede er knyttet til noen verdi.
  • beregne () - Beregner en oppføring (nøkkel / verdikartlegging) for den angitte nøkkelen og dens tidligere tilordnede verdi.
  • computeIfAbsent () - Beregner en verdi ved hjelp av den angitte funksjonen for den angitte nøkkelen hvis nøkkelen ikke allerede er tilordnet en verdi.
  • computeIfPresent () - Beregner en ny oppføring (nøkkel / verdikartlegging ) for den angitte nøkkelen hvis nøkkelen allerede er tilordnet den angitte verdien.
  • forEach () - Få tilgang til alle oppføringene på et kart og utfør de angitte handlingene.
  • flette () - Slår sammen den nye spesifiserte verdien med den gamle verdien til den angitte nøkkelen hvis nøkkelen allerede er tilordnet til en bestemt verdi. Hvis nøkkelen ikke allerede er kartlagt, knytter metoden bare den angitte verdien til nøkkelen vår.

For å lære mer, besøk Java ConcurrentMap (offisiell Java-dokumentasjon).

Implementering av ConcurrentMap i ConcurrentHashMap

 import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; class Main ( public static void main(String() args) ( // Creating ConcurrentMap using ConcurrentHashMap ConcurrentMap numbers = new ConcurrentHashMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("ConcurrentMap: " + numbers); // Access the value of specified key int value = numbers.get("One"); System.out.println("Accessed Value: " + value); // Remove the value of specified key int removedValue = numbers.remove("Two"); System.out.println("Removed Value: " + removedValue); ) ) 

Produksjon

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Accessed Value: 1 Fjernet verdi: 2 

For å lære mer om det ConcurrentHashMap, besøk Java ConcurrentHashMap.

Interessante artikler...