Šajā apmācībā mēs uzzināsim par Java ConcurrentMap saskarni un tās metodēm.
ConcurrentMap
Java 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ā ConcurrentMap
tā ir saskarne, mēs nevaram no tā izveidot objektus.
Lai izmantotu ConcurrentMap
saskarnes funkcionalitāti , mums jāizmanto klase, ConcurrentHashMap
kas to ievieš.
Kā lietot ConcurrentMap?
Lai izmantotu ConcurrentMap
, mums vispirms jāimportē java.util.concurrent.ConcurrentMap
pakete. 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
ConcurrentMap
Interfeiss ietver visas metodes ar Map
interfeisu. Tas ir tāpēc, ka Map
ir saskarnes super ConcurrentMap
saskarne.
Papildus visām šīm metodēm šeit ir norādītas ConcurrentMap
saskarnei 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.