Java ConcurrentMap interfeiss

Šajā apmācībā mēs uzzināsim par Java ConcurrentMap saskarni un tās metodēm.

ConcurrentMapJava kolekcijas ietvaros saskarne nodrošina diegu drošu karti. Tas ir, vairāki pavedieni var piekļūt kartei vienlaikus, neietekmējot ierakstu konsekvenci kartē.

ConcurrentMap ir pazīstama kā sinhronizēta karte.

Tas paplašina kartes saskarni.

Klase, kas īsteno ConcurrentMap

Tā kā ConcurrentMaptā ir saskarne, mēs nevaram no tā izveidot objektus.

Lai izmantotu ConcurrentMapsaskarnes funkcionalitāti , mums jāizmanto klase, ConcurrentHashMapkas to ievieš.

Kā lietot ConcurrentMap?

Lai izmantotu ConcurrentMap, mums vispirms jāimportē java.util.concurrent.ConcurrentMappakete. Pēc pakotnes importēšanas mēs varam izveidot vienlaicīgu karti.

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

Iepriekš minētajā kodā mēs esam izveidojuši vienlaicīgu karti ar numuriem.

Šeit,

  • Atslēga - unikāls identifikators, ko izmanto, lai katru elementu (vērtību) saistītu kartē
  • Vērtība - elementi, kas saistīti ar atslēgām kartē

ConcurrentMap metodes

ConcurrentMapInterfeiss ietver visas metodes ar Mapinterfeisu. Tas ir tāpēc, ka Mapir saskarnes super ConcurrentMapsaskarne.

Papildus visām šīm metodēm šeit ir norādītas ConcurrentMapsaskarnei raksturīgās metodes .

  • putIfAbsent () - ievieto norādīto atslēgu / vērtību kartē, ja norādītā atslēga vēl nav saistīta ar kādu vērtību.
  • compute () - aprēķina ievadi (atslēgas / vērtības kartēšanu) norādītajai atslēgai un tās iepriekš kartētajai vērtībai.
  • computeIfAbsent () - aprēķina vērtību, izmantojot norādītajai atslēgai norādīto funkciju, ja atslēga vēl nav kartēta ar kādu vērtību.
  • computeIfPresent () - aprēķina jaunu ierakstu (atslēgas / vērtības kartēšanu) norādītajai atslēgai, ja atslēga jau ir kartēta ar norādīto vērtību.
  • forEach () - Piekļūstiet visiem kartes ierakstiem un veiciet norādītās darbības.
  • sapludināt () - apvieno jauno norādīto vērtību ar norādītās atslēgas veco vērtību, ja atslēga jau ir kartēta uz noteiktu vērtību. Ja atslēga vēl nav kartēta, metode vienkārši saista norādīto vērtību ar mūsu atslēgu.

Lai uzzinātu vairāk, apmeklējiet Java ConcurrentMap (oficiālā Java dokumentācija).

ConcurrentMap ieviešana 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); ) ) 

Rezultāts

 Karte Karte: (Viens = 1, Divi = 2, Trīs = 3) Piekļūtā vērtība: 1 Noņemtā vērtība: 2 

Lai uzzinātu vairāk par to ConcurrentHashMap, apmeklējiet Java ConcurrentHashMap.

Interesanti raksti...