Java ConcurrentMap Interface

I denne vejledning lærer vi om Java ConcurrentMap-grænsefladen og dens metoder.

Den ConcurrentMapgrænsefladen af Java kollektioner rammer giver en tråd-safe kortet. Det vil sige, at flere tråde kan få adgang til kortet på en gang uden at påvirke konsistensen af ​​poster på et kort.

ConcurrentMap er kendt som et synkroniseret kort.

Det udvider kortgrænsefladen.

Klasse, der implementerer ConcurrentMap

Da det ConcurrentMaper en grænseflade, kan vi ikke oprette objekter ud fra det.

For at bruge funktionerne i ConcurrentMapgrænsefladen er vi nødt til at bruge den klasse, ConcurrentHashMapder implementerer den.

Hvordan bruges ConcurrentMap?

For at bruge den ConcurrentMapskal vi først importere java.util.concurrent.ConcurrentMappakken. Når vi først har importeret pakken, kan du oprette et samtidig kort her.

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

I ovenstående kode har vi oprettet et samtidigt kort med navn.

Her,

  • Nøgle - en unik identifikator, der bruges til at knytte hvert element (værdi) til et kort
  • Værdi - elementer tilknyttet nøgler på et kort

Metoder til ConcurrentMap

Den ConcurrentMapgrænseflade omfatter alle fremgangsmåderne ifølge Mapgrænsefladen. Det er fordi Maper grænsefladen super ConcurrentMapinterface.

Udover alle disse metoder er her de specifikke metoder til ConcurrentMapgrænsefladen.

  • putIfAbsent () - Indsætter den angivne nøgle / værdi på kortet, hvis den angivne nøgle ikke allerede er knyttet til nogen værdi.
  • beregne () - Beregner en post (nøgle / værdi kortlægning) for den angivne nøgle og dens tidligere tilknyttede værdi.
  • computeIfAbsent () - Beregner en værdi ved hjælp af den angivne funktion for den angivne nøgle, hvis nøglen ikke allerede er kortlagt med nogen værdi.
  • computeIfPresent () - Beregner en ny post (nøgle- / værdikortlægning) for den angivne nøgle, hvis nøglen allerede er kortlagt med den angivne værdi.
  • forEach () - Få adgang til alle poster på et kort og udfør de angivne handlinger.
  • fusionere () - fletter den nye specificerede værdi med den gamle værdi af den angivne nøgle, hvis nøglen allerede er tilknyttet en bestemt værdi. Hvis nøglen ikke allerede er kortlagt, knytter metoden simpelthen den angivne værdi til vores nøgle.

For at lære mere, besøg Java ConcurrentMap (officiel Java-dokumentation).

Implementering af 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); ) ) 

Produktion

 ConcurrentMap: (One = 1, Two = 2, Three = 3) Adgangsværdi: 1 Fjernet værdi: 2 

For at lære mere om det ConcurrentHashMap, besøg Java ConcurrentHashMap.

Interessante artikler...