Rozhranie Java ConcurrentMap

V tomto výučbe sa dozvieme o rozhraní Java ConcurrentMap a jeho metódach.

ConcurrentMapRozhranie zbierok rámca Java poskytuje thread-safe mapu. To znamená, že na mapu môže naraz pristupovať viac vlákien bez toho, aby to ovplyvnilo konzistenciu záznamov na mape.

ConcurrentMap je známa ako synchronizovaná mapa.

Rozširuje rozhranie mapy.

Trieda, ktorá implementuje ConcurrentMap

Pretože ConcurrentMapje to rozhranie, nemôžeme z neho vytvárať objekty.

Aby sme mohli využívať funkcie ConcurrentMaprozhrania, musíme použiť triedu, ConcurrentHashMapktorá ho implementuje.

Ako používať ConcurrentMap?

Ak ho chcete použiť ConcurrentMap, musíme najskôr importovať java.util.concurrent.ConcurrentMapbalík. Po importovaní balíka môžeme vytvoriť súbežnú mapu nasledujúcim spôsobom.

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

Vo vyššie uvedenom kóde sme vytvorili súbežnú mapu s názvom čísla.

Tu,

  • Kľúč - jedinečný identifikátor, ktorý sa používa na priradenie každého prvku (hodnoty) k mape
  • Hodnota - prvky spojené s klávesmi na mape

Metódy ConcurrentMap

ConcurrentMapRozhranie zahŕňa všetky metódy Maprozhrania. Je to preto, že Mapje super rozhraním tohto ConcurrentMaprozhrania.

Okrem všetkých týchto metód sú tu aj metódy špecifické pre dané ConcurrentMaprozhranie.

  • putIfAbsent () - Vloží zadaný kľúč / hodnotu do mapy, ak zadaný kľúč ešte nie je priradený k žiadnej hodnote.
  • compute () - Vypočíta položku (mapovanie kľúča / hodnoty) pre zadaný kľúč a jeho predtým namapovanú hodnotu.
  • computeIfAbsent () - Vypočíta hodnotu pomocou zadanej funkcie pre zadaný kľúč, ak kľúč ešte nie je namapovaný na žiadnu hodnotu.
  • computeIfPresent () - Vypočíta nový záznam (mapovanie kľúča / hodnoty) pre zadaný kľúč, ak je kľúč už mapovaný so zadanou hodnotou.
  • forEach () - Prístup k všetkým položkám mapy a vykonávanie zadaných akcií.
  • merge () - Zlúči novú zadanú hodnotu so starou hodnotou zadaného kľúča, ak je kľúč už namapovaný na určitú hodnotu. Ak kľúč ešte nie je namapovaný, metóda jednoducho priradí zadanú hodnotu nášmu kľúču.

Ak sa chcete dozvedieť viac, navštívte stránku Java ConcurrentMap (oficiálna dokumentácia Java).

Implementácia ConcurrentMap v 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); ) ) 

Výkon

 ConcurrentMap: (Jeden = 1, Dva = 2, Tri = 3) Prístupná hodnota: 1 Odstránená hodnota: 2 

Ak sa chcete dozvedieť viac ConcurrentHashMap, navštívte stránku Java ConcurrentHashMap.

Zaujímavé články...