Rozhraní Java ConcurrentMap

V tomto kurzu se seznámíme s rozhraním Java ConcurrentMap a jeho metodami.

ConcurrentMapRozhraní sbírek rámce Java poskytuje thread-safe mapu. To znamená, že více vláken může přistupovat k mapě najednou, aniž by to ovlivnilo konzistenci záznamů na mapě.

ConcurrentMap je známá jako synchronizovaná mapa.

Rozšiřuje rozhraní mapy.

Třída, která implementuje ConcurrentMap

Protože ConcurrentMapje to rozhraní, nemůžeme z něj vytvářet objekty.

Aby bylo možné používat funkce ConcurrentMaprozhraní, musíme použít třídu, ConcurrentHashMapkterá jej implementuje.

Jak používat ConcurrentMap?

Chcete-li použít ConcurrentMap, musíme java.util.concurrent.ConcurrentMapnejprve importovat balíček. Jakmile importujeme balíček, můžeme vytvořit souběžnou mapu následujícím způsobem.

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

Ve výše uvedeném kódu jsme vytvořili souběžnou mapu pojmenovanou čísla.

Tady,

  • Klíč - jedinečný identifikátor používaný k přidružení každého prvku (hodnoty) na mapě
  • Hodnota - prvky spojené s klíči na mapě

Metody ConcurrentMap

ConcurrentMapRozhraní zahrnuje všechny metody Maprozhraní. Je to proto, že Mapje super rozhraní ConcurrentMaprozhraní.

Kromě všech těchto metod jsou zde i metody specifické pro ConcurrentMaprozhraní.

  • putIfAbsent () - Vloží zadaný klíč / hodnotu do mapy, pokud zadaný klíč již není přidružen k žádné hodnotě.
  • compute () - Vypočítá položku (mapování klíče / hodnoty) pro zadaný klíč a jeho dříve namapovanou hodnotu.
  • computeIfAbsent () - Vypočítá hodnotu pomocí zadané funkce pro zadaný klíč, pokud klíč již není mapován s žádnou hodnotou.
  • computeIfPresent () - Vypočítá novou položku (mapování klíč / hodnota) pro zadaný klíč, pokud je klíč již mapován se zadanou hodnotou.
  • forEach () - Přístup ke všem položkám mapy a provádění zadaných akcí.
  • merge () - Sloučí novou zadanou hodnotu se starou hodnotou zadaného klíče, pokud je klíč již namapován na určitou hodnotu. Pokud klíč ještě není mapován, metoda jednoduše přidruží zadanou hodnotu k našemu klíči.

Další informace najdete na webu Java ConcurrentMap (oficiální dokumentace prostředí Java).

Implementace 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ýstup

 ConcurrentMap: (Jeden = 1, Dva = 2, Tři = 3) Přístupná hodnota: 1 Odstraněná hodnota: 2 

Další informace ConcurrentHashMapnajdete na webu Java ConcurrentHashMap.

Zajímavé články...